This document defines two mobile profiles of SVG 1.1. The first profile,
SVG Tiny, is defined to be suitable for cellphones; the second profile, SVG
Basic, is suitable for PDAs.
This section describes the status of this document at the time of its
publication. Other documents may supersede this document. The latest status
of this document series is maintained at the W3C.
This document is the 15 November 2002 Proposed Recommendation of the SVG
Mobile specification. The SVG Working Group believes SVG Mobile has been
widely reviewed by the community, developers and other W3C groups.
W3C Advisory Committee representatives are invited to send formal review
comments to the W3C Team until 20 December
2002 at w3t-svg@w3.org. After the review the Director will announce
the document's disposition. This announcement should not be expected sooner
than 14 days after the end of the review.
Public comments are also welcome. Please send them to www-svg@w3.org: the
public email list for issues related to vector graphics on the Web. This list
is archived and senders must agree to have their message publicly archived
from their first posting. To subscribe send an email to
www-svg-request@w3.org with the word subscribe
in the subject line.
The W3C SVG Working Group have released a test suite for SVG 1.1 and
SVG Mobile along with an implementation report.
The latest information regarding patent disclosures
related to this document is available on the Web. As of this publication, the
SVG Working Group are not aware of any royalty-bearing patents they believe
to be essential to SVG.
This document has been produced by the W3C SVG Working Group as part of
the Graphics Activity
within the W3C Document Formats Domain.
The goals of the W3C SVG Working Group are discussed in the W3C SVG
Charter (W3C Members only). The W3C SVG Working Group has maintained a
public Web page, http://www.w3.org/Graphics/SVG/,
which contains further background information. The authors of this document
are the SVG Working Group participants.
Publication of this document does not imply endorsement by the W3C
membership. A list of current W3C Recommendations and other technical
documents can be found at http://www.w3.org/TR/. W3C publications may
be updated, replaced, or obsoleted by other documents at any time.
It is inappropriate to cite a W3C Working Draft as
anything other than a "work in progress."
It has been established by industry demand, overwhelming support in the
SVG working group and requests from the SVG developer community that some
form of SVG suited to displaying vector graphics on small devices is
required. Moreover, the mission statement of SVG 1.0 specifically addresses
small devices as a target area for vector graphics display. In order to meet
these demands the SVG Working Group has committed to a concerted effort to
create a profile specification that addresses mobile devices.
A single such profile is not sufficient to deal with the variety of mobile
devices, because each mobile device has different characteristics in terms of
CPU speed, memory size, and color support. To address the range of different
device families, two profiles are defined. The first low-level profile, SVG
Tiny (SVGT) is suitable for highly restricted mobile devices; while the
second profile, SVG Basic (SVGB) is targeted for higher level mobile
devices.
Because of the low memory, low CPU power and limited display of mobile
devices, Mobile SVG profiles introduce constraints on content, attribute
types, properties, and user agent behavior. This section describes these
constraints and design rationale behind them.
- Two profiles are designed to allow SVG to render on mobile devices with
limited memory, CPU power, and bandwidth.
- Mobile SVG profiles attempt to maximize compatibility with SVG 1.0 to
display existing content.
- A true subset of the SVG 1.0 imaging model is maintained.
- Mobile SVG is designed to facilitate export from authoring tools.
- Mobile SVG is designed so that SVG 1.1 can be transcoded into SVGB and
SVGT preserving as much scalability as possible.
- To ensure interoperability between content and software tools compliant
with different profiles, SVGT is specified to be a proper subset of SVGB,
and SVGB to be a proper subset of SVG 1.1.
SVGT and SVGB consist of the following SVG 1.1 modules. For each module,
a given profile might contain the Full version, the subsetted Basic version,
or no version of that module. For ease of use, the relevant elements in each
module are given; in modules other than Full, not all attributes may be
supported and there may be restrictions on attribute values. For details, see
the module definitions in the SVG
1.1 specification.
-
Structure
-
Core
Attribute Module
-
Basic
Structure Module
-
defs, desc, g, metadata, svg, title, use
-
Painting
-
Basic
Paint Attribute Module
-
Basic
Graphics Attribute Module
-
Hyperlinking
-
Hyperlinking
-
a
-
XLink
Attribute Module
-
Conditional Processing
-
Conditional
Processing Module
-
switch
-
Shapes
-
Shape
Module
-
circle, ellipse, line, path, polygon, polyline, rect
-
Images
-
Image
Module
-
image
-
Text
-
Basic
Text Module
-
text
-
Fonts
-
Basic
Font Module
-
font, font-face, font-face-name, font-face-src,
glyph, hkern, missing-glyph
-
Animation
-
Animation
Module
-
animate, animateColor, animateMotion, animateTransform, mpath,
set
-
Extensibility
-
Extensibility
Module
-
foreignObject
SVG Basic
-
Structure
-
Core
Attribute Module
-
Structure
Module
-
defs, desc, g, metadata, svg, symbol, title, use
-
Viewport
Attribute Module
-
Style
-
Style
Module
-
style
-
Painting
-
Paint
Attribute Module
-
Opacity
Attribute Module
-
Graphics
Attribute Module
-
Hyperlinking
-
Hyperlinking
Module
-
a
-
XLink
Attribute Module
-
External
Resources Attribute Module
-
Conditional Processing
-
Conditional
Processing Module
-
switch
-
Shapes
-
Shape
Module
-
circle, ellipse, line, path, polygon, polyline, rect
-
Images
-
Image
Module
-
image
-
Text
-
Text
Module
-
altGlyph, altGlyphDef, altGlyphItem, glyphRef, text, textPath,
tref, tspan
-
Color Profile
-
Color
Profile Module
-
color-profile
-
Gradients
-
Gradient
Module
-
linearGradient, radialGradient, stop
-
Patterns
-
Pattern
Module
-
pattern
-
Clipping
-
Basic
Clip Module
-
clipPath
-
Masking
-
Mask
Module
-
mask
-
Fonts
-
Font
Module
-
definition-src, font, font-face, font-face-format,
font-face-name, font-face-src, font-face-uri, glyph, hkern,
missing-glyph, vkern
-
Interactivity
-
Document
Events Attribute Module
-
Graphical
Element Events Attribute Module
-
Animation
Events Attribute Module
-
Scripting
-
Scripting
Module
-
script
-
Views
-
View
Module
-
view
-
Filters
-
Basic
Filter Module
-
feBlend, feColorMatrix, feComponentTransfer, feComposite,
feFlood, feGaussianBlur, feImage, feMerge, feMergeNode, feOffset,
feTile, feFuncR, feFuncG, feFuncB, feFuncA, filter
-
Animation
-
Animation
Module
-
animate, animateColor, animateMotion, animateTransform, mpath,
set
-
Extensibility
-
Extensibility
Module
-
foreignObject
-
Document Model
- Basic Document Model Module
Data Type |
Description |
Number |
SVGT and SVGB support fixed point numbers, thus all numbers must be
limited in range between -32,767.9999 to +32,767.9999 or the
scientific notation equivalent. |
Length |
SVGT only supports user units (i.e., CSS units are not supported),
with the one exception that the 'width' and 'height' attributes on
the outermost 'svg' element can specify values in any of the
following CSS units: in, cm, mm, pt, pc, and %. SVGB supports lengths
in user coordinate space and in CSS units. |
Coordinate |
SVGT and SVGB support the coordinate data type, represented with a
<length> value. |
List of XXX |
(where XXX represents a value of some type): SVGT and SVGB support
the list specification. |
Angle |
SVGT only supports angles if specified with no CSS unit identifiers
(which means all angles are in degrees). SVGB supports angles with
CSS unit identifiers. |
Color |
SVGT and SVGB support <color> in the CSS2-compatible
specification for a color in the sRGB color space, and system colors.
Additionally, SVGB and SVGT support 16 original color keywords from
XHTML, and do not support X11 colors. SVGB also allows optional
support of ICC color profiles. |
Paint |
SVGB supports paint specification for fill and stroke operations,
as well as linear and radial gradients. SVGT does not support the
more general notion of paint specification and thus only supports
solid color fills and strokes. |
Percentage |
SVGB supports percentages. SVGT does not support percentage values
except for the 'width' and 'height' attributes on the outermost 'svg'
element. |
Transform List |
SVGB and SVGT support transform lists. |
URI |
SVGB and SVGT support the URI datatype. |
Frequency |
SVGB and SVGT do not support frequency values. |
Time |
SVGB and SVGT support time values, with unit identifiers (ms,
s). |
Mobile SVG Document Fragment
SVGB and SVGT content can be in the form of stand-alone SVG Documents or
document fragments embedded within a parent XML document. The following is an
example of an SVG document fragment embedded within an XHTML 1.1 document:
<?xml version="1.0" standalone="yes"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:svg="http://www.w3.org/2000/svg">
<head>
<title xml:lang="en">Sample XHTML + SVG document</title>
</head>
<body>
<svg:svg width="4cm" height="8cm" version="1.1" baseProfile="tiny" >
<svg:ellipse cx="2" cy="4" rx="2" ry="1" />
</svg:svg>
</body>
</html>
SVGB and SVGT support the 'title', 'desc' and 'metadata' elements as
defined in SVG 1.1.
The 'svg' Element
SVG Tiny content cannot have nested child 'svg' elements.
The 'baseProfile' attribute on the outermost 'svg' element must have the
value "tiny" for SVG Tiny content, and "basic" for SVG Basic content. The
'baseProfile' attribute on nested child 'svg' elements is ignored. The SVG
1.1 specification states that the 'version' attribute of the outermost 'svg'
element in SVG 1.1 content must have the value "1.1".
References and the 'defs' Element
For SVGT, all referenced objects, except on the 'image' and 'a' elements,
must be internal (using the 'data:' URL scheme, and base64 encoding). SVGB
does not put extra limitations on external references as defined by SVG
1.1.
The 'symbol' Element
SVGT does not support symbols.
The 'use' Element
Note that, in SVG 1.1, animations on a referenced element will cause the
instances to be animated. SVGB and SVGT also support this feature.
The 'image' Element
SVGB and SVGT require support of the JPEG and PNG formats on the image
element. SVGB also requires support of SVG format on the image element.
The 'switch' Element
SVGT and SVGB support the switch element, to determine which SVG 1.1
features are supported by the user agent.
The following feature strings are allowed for SVGT:
- SVG 1.1 Module Feature Sets:
-
http://www.w3.org/TR/SVG11/feature#CoreAttribute
-
http://www.w3.org/TR/SVG11/feature#BasicStructure
-
http://www.w3.org/TR/SVG11/feature#BasicPaintAttribute
-
http://www.w3.org/TR/SVG11/feature#BasicGraphicsAttribute
-
http://www.w3.org/TR/SVG11/feature#Hyperlinking
-
http://www.w3.org/TR/SVG11/feature#XlinkAttribute
-
http://www.w3.org/TR/SVG11/feature#ConditionalProcessing
-
http://www.w3.org/TR/SVG11/feature#Shape
-
http://www.w3.org/TR/SVG11/feature#Image
-
http://www.w3.org/TR/SVG11/feature#BasicText
-
http://www.w3.org/TR/SVG11/feature#BasicFont
-
http://www.w3.org/TR/SVG11/feature#Animation
-
http://www.w3.org/TR/SVG11/feature#Extensibility
- The feature string
"
http://www.w3.org/TR/SVGMobile/Tiny/feature#base
"
indicates the availability of all of the static and declarative animation
language capabilities defined for SVG Tiny in Section 2.
- The feature string
"
http://www.w3.org/TR/SVGMobile/Tiny/feature#interactivity
"
indicates the availability of all of the base features, as well as
support for interactivity: Document Events Attribute Module, and
Animation Events Attribute Module.
- The feature string
"
http://www.w3.org/TR/SVGMobile/Tiny/feature#all
"
indicates the availability of all of the SVG Tiny features.
The following feature strings are allowed for SVGB:
- SVG 1.1 Module Feature Sets:
-
http://www.w3.org/TR/SVG11/feature#CoreAttribute
-
http://www.w3.org/TR/SVG11/feature#Structure
-
http://www.w3.org/TR/SVG11/feature#ViewportAttribute
-
http://www.w3.org/TR/SVG11/feature#Style
-
http://www.w3.org/TR/SVG11/feature#PaintAttribute
-
http://www.w3.org/TR/SVG11/feature#OpacityAttribute
-
http://www.w3.org/TR/SVG11/feature#GraphicsAttribute
-
http://www.w3.org/TR/SVG11/feature#Hyperlinking
-
http://www.w3.org/TR/SVG11/feature#XlinkAttribute
-
http://www.w3.org/TR/SVG11/feature#ExternalResourcesRequired
-
http://www.w3.org/TR/SVG11/feature#ConditionalProcessing
-
http://www.w3.org/TR/SVG11/feature#Shape
-
http://www.w3.org/TR/SVG11/feature#Image
-
http://www.w3.org/TR/SVG11/feature#Text
-
http://www.w3.org/TR/SVG11/feature#ColorProfile
-
http://www.w3.org/TR/SVG11/feature#Gradient
-
http://www.w3.org/TR/SVG11/feature#Pattern
-
http://www.w3.org/TR/SVG11/feature#BasicClip
-
http://www.w3.org/TR/SVG11/feature#Mask
-
http://www.w3.org/TR/SVG11/feature#Font
-
http://www.w3.org/TR/SVG11/feature#DocumentEventsAttribute
-
http://www.w3.org/TR/SVG11/feature#GraphicalEventsAttribute
-
http://www.w3.org/TR/SVG11/feature#AnimationEventsAttribute
-
http://www.w3.org/TR/SVG11/feature#Scripting
-
http://www.w3.org/TR/SVG11/feature#View
-
http://www.w3.org/TR/SVG11/feature#BasicFilter
-
http://www.w3.org/TR/SVG11/feature#Animation
-
http://www.w3.org/TR/SVG11/feature#Extensibility
- The feature string
"
http://www.w3.org/TR/SVGMobile/Basic/feature#base
"
indicates the availability of all of the static and declarative animation
language capabilities defined for SVG Basic in Section 2.
- The feature string
"
http://www.w3.org/TR/SVGMobile/Basic/feature#interactivity
"
indicates the availability of all of the base features, as well as
support for interactivity: SVGB Core DOM support, SVG 1.1 Scripting
Module, Document Events Attribute Module , Graphical Element Events
Attribute Module, and Animation Events Attribute Module.
- The feature string
"
http://www.w3.org/TR/SVGMobile/Basic/feature#SVGBasicDomCore
"
indicates the availability of SVG Basic DOM Core as defined in this
specification.
- The feature string
"
http://www.w3.org/TR/SVGMobile/Basic/feature#SVGBasicDomExtended
"
indicates the availability of SVG Basic Extended DOM as defined in this
specification.
- The feature string
"
http://www.w3.org/TR/SVGMobile/Basic/feature#css
"
indicates the availability of all of the base features, as well as
support for styling with CSS.
- The feature string
"
http://www.w3.org/TR/SVGMobile/Basic/feature#all
"
indicates the availability of all of the SVG Basic features.
SVGB and SVGT support subsets of SVG 1.1's presentation attributes.
SVGB allows optional support of CSS Mobile Profile 1.0. SVGT does not
support styling with CSS.
SVGB and SVGT can introduce constraints on style properties. Allowed
values for style properties are listed in Appendix C.
SVGB and SVGT support SVG 1.1's notion of viewports.
SVGB and SVGT support nesting of transformations. The types of
transformations that are allowed are generic transformation matrices, or
simple operations such as rotation, scaling, skewing, and translation.
SVGB and SVGT support the transform attribute. The following transform
definition types are supported:
- Matrix(<a><b><c><d><e><f>)
- Translate(<tx>[<ty>])
- Scale(<sx>[<sy>])
- Rotate(<rotate_angle>[<cx><cy>])
- SkewX(<skew_angle>)
- SkewY(<skew_angle>)
The 'viewBox' Attribute
SVGB and SVGT fully support the 'viewBox' attribute. SVGT has restrictions
on allowed preserveAspectRatio attribute values.
The 'preserveAspectRatio' Attribute
SVGB and SVGT support the 'preserveAspectRatio' attribute for adapting the
content to devices with different display aspect ratios.
In SVGT, the <align> parameter can only be either 'none' or
'XMidYMid', the <meetOrSlice> parameter can only be 'meet'.
In SVGB, the values of this parameter can be the same as in SVG 1.1.
Establishing a New Viewport
SVGB supports establishing a new viewport via additional embedded 'svg'
elements. SVGT does not allow nested 'svg' elements.
Units
SVGT supports user units only, except for the 'width' and 'height'
attributes on the outermost 'svg' element where CSS units are also supported.
SVGB supports both user units and CSS user identifiers.
Object Bounding Box Units
SVGT does not support bounding box unit specification.
Paths
SVGB and SVGT support all SVG 1.1 path commands, except the elliptical arc
curve command ("A"(absolute) and "a"(relative)).
The path element data is animatable, as defined in the SVG 1.1
specification.
Basic Shapes
SVGT and SVGB support the basic shapes (rectangles, circles, ellipses,
lines, polylines, and polygons) as defined in SVG 1.1.
SVGB and SVGT represent text with Unicode characters. Mobile SVG user
agents are not required to allow text selection and clipboard operations.
SVGT does not support text on a path, 'tspan' and 'tref' elements. SVGT
supports the 'rotate' attribute on the 'text' element, but it should be noted
that this may cause a slow down of the user agent's rendering speed, and
rotation may not be supported with system fonts.
SVGB and SVGT support filling and stroking 'path' elements and basic
shapes with solid colors.
SVGB supports stroking on text when using outline fonts, but SVGT does
not.
SVGT and SVGB support <color> in the CSS2-compatible specification
for a color in the sRGB color space, and system colors. Additionally, SVGB
and SVGT support 16 original color keywords from XHTML, and do not support
X11 colors.
Specifying colors using an ICC profile is not supported in SVGT; and as
with SVG 1.1, it is optional in SVGB.
SVGB supports solid colors, gradient paints, patterns, and custom paints.
SVGT only supports solid color painting.
SVGB supports clipping, masking and compositing. SVGB does not support
additive clipping paths. Also, in SVGB, clipping paths are restricted to
rectangles ('rect' elements or references to 'rect' elements through
'use').
SVGT does not support element opacity, fill-opacity, stroke-opacity
properties.
SVGB supports a subset of filter effects. SVGT does not support filter
effects.
SVGB and SVGT support the SVG 1.1 events. SVGT only allows interactivity
with declarative animation.
SVGB and SVGT support hyperlink activation from SVG content to other Web
resources through the 'a' element.
SVGB supports hyperlink into particular views of SVG content. SVGT does
not support this feature.
SVGT does not support scripting. SVGB allows optional support of
scripting, and includes all of the language features from SVG 1.1 to support
scripting.
Both SVGB and SVGT support the full set of SVG 1.1's declarative animation
features:
The language features to support animation through scripting and DOM are
available in SVGB. SVGT only supports declarative animation.
SVGB and SVGT allow implicit targeting of parent elements, and targeting
elements using the 'xlink:href' attribute.
SVGB and SVGT support linear, spline, paced and discrete animations.
SVGB and SVGT support a subset of SVG fonts where only the 'd' attribute
on the 'glyph' and 'missing-glyph' elements is available. Arbitrary SVG
within a 'glyph' is not supported.
As with Full SVG 1.1, SVGB supports downloadable fonts using WebFonts
facility defined in the "Cascading Style Sheets (CSS) level 2" specification.
In SVGT, an SVG font can be only embedded within the same document that uses
the font.
Both SVGB and SVGT support embedded metadata, as well as elements and
attributes from foreign namespaces included within the SVG content.
The SVG renderer is not expected to be able to render content in foreign
namespaces, but the foreignObject element allows a subtree in a foreign
namespace to be assigned a width and height and passed off to another
renderer.
The authors of this specification are the participants of the W3C SVG
Working Group.
- Authors:
-
- Ola Andersson, ZOOMON AB
- Henric Axelsson, Ericsson AB
- Phil Armstrong, Corel Corporation
- Benoît Bézaire, Corel Corporation
- Craig Brown, Canon Information Systems Research Australia
- Mike Bultrowicz, Savage Software
- Tolga Capin, Nokia Inc.
- Mathias Larsson Carlander, Ericsson AB
- Jakob Cederquist, ZOOMON AB
- Charilaos Christopoulos, Ericsson AB
- Lee Cole, Quark
- Don Cone, America Online Inc.
- Alex Danilo, Canon Information Systems Research Australia
- Thomas DeWeese, Eastman Kodak
- Jon Ferraiolo, Adobe Systems Inc.
- Darryl Fuller, Schema Software
- 藤沢 淳 (FUJISAWA Jun), Canon
- Rick Graham, BitFlash
- Vincent Hardy, Sun Microsystems Inc.
- 端山 貴也 (HAYAMA Takanari), KDDI
Research Labs
- Lofton Henderson, OASIS
- 石川雅康 (ISHIKAWA Masayasu), W3C
- Dean Jackson, W3C/CSIRO (W3C Team Contact)
- Christophe Jolif, ILOG S.A.
- Lee Klosterman, Hewlett-Packard
- 小林 亜令 (KOBAYASHI Arei), KDDI Research
Labs
- Thierry Kormann, ILOG S.A.
- Yuri Khramov, Schema Software
- Chris Lilley, W3C (Working Group Chair)
- Philip Mansfield, Schema Software
- 水口 充 (MINAKUCHI Mitsuru), Sharp
Corporation
- Luc Minnebo, Agfa-Gevaert N.V.
- 小野 修一郎 (ONO Shuichiro), Sharp
Corporation
- Antoine Quint, Fuchsia Design (formerly of ILOG)
- 相良 毅 (SAGARA Takeshi), KDDI Research
Labs
- Brad Sipes, ZOOMON AB
- Peter Sorotokin, Adobe Systems Inc.
- 上田 宏高 (UEDA Hirotaka), Sharp
Corporation
- Rick Yardumian, Canon Development Americas
- Charles Ying, Openwave Systems, Inc.
The SVG Working Group would like to acknowledge the great many people
outside of the SVG Working Group who help with the process of developing the
SVG 1.1 and Mobile SVG specification. These people are too numerous to list
individually. They include but are not limited to the early implementers of
the SVG 1.0 and 1.1 languages and Mobile SVG profiles (including viewers,
authoring tools, and server-side transcoders), developers of SVG content,
people who have contributed on the www-svg@w3.org and
svg-developers@yahoogroups.com email lists, other Working Groups at the W3C,
and the W3C team. Mobile SVG is truly a cooperative effort between the SVG
Working Group, the rest of the W3C, and the public and benefits greatly from
the pioneering work of early implementers and content developers, feedback
from the public, and help from the W3C team.
-
[CSS
Mobile Profile]
-
CSS Mobile Profile
1.0
, Ted Wugofski, Doug Dominiak, Peter Stark, editors, W3C,
24 October 2001 (W3C Candidate Recommendation) Available at
http://www.w3.org/TR/css-mobile.
-
[MOBILE
SVG Requirements]
-
SVG Mobile
Requirements
, Rick Graham, Tolga K. Capin, editors, W3C, 3
August 2001 (Working Draft). Available at
http://www.w3.org/TR/SVGMobileReqs.
-
[RFC2119]
-
RFC 2119: Key
words for use in RFCs to Indicate Requirement Levels
Internet Engineering Task Force, 1997. Available at
http://www.ietf.org/rfc/rfc2119.txt.
-
[SRGB]
-
Multimedia systems and
equipment - Colour measurement and management - Part 2-1: Colour
management - Default RGB colour space - sRGB
, IEC. Available
at http://www.iec.ch/nr1899.htm.
-
[SVG 1.0]
-
Scalable Vector Graphics
(SVG) 1.0 Specification
, Jon Ferraiolo, editor, W3C, 4
September 2001 (Recommendation). Available at
http://www.w3.org/TR/SVG/.
-
[SVG 1.1/2.0
Requirements]
-
SVG 1.1/2.0
Requirements
, Dean Jackson, editor, W3C, 3 August 2001.
Available at http://www.w3.org/TR/SVG2Reqs/.
-
[SVG 1.1]
-
Scalable Vector Graphics
(SVG) Version 1.1 Specification
, Dean Jackson, editor, W3C,
15 February 2002. Available at http://www.w3.org/TR/SVG11/.
This appendix is normative.
|
Color code |
Supported fully in a Full Module |
yes |
Supported with subsetted functionality in a Basic Module |
yes |
Disallowed in profile |
n/a |
This appendix is normative.
Attribute |
SVGTiny |
SVG 1.1 Module |
SVGBasic |
SVG 1.1 Module |
accent-height |
%Number |
Basic
Font
|
%Number; |
Font
|
accumulate |
(none | sum) |
Animation
|
(none | sum) |
Animation
|
additive |
(replace | sum) |
Animation
|
(replace | sum) |
Animation
|
alignment-baseline |
n/a |
n/a |
( baseline | top | before-edge | text-top |
text-before-edge | middle | bottom | after-edge | text-bottom |
text-after-edge | ideographic | lower | hanging | mathematical |
inherit) |
Text
|
alphabetic |
%Number; |
Basic
Font
|
%Number; |
Font
|
amplitude |
n/a |
n/a |
%Number; |
Basic
Filter
|
arabic-form |
CDATA |
Basic
Font
|
CDATA |
Font
|
ascent |
%Number; |
Basic
Font
|
%Number; |
Font
|
attributeName |
CDATA |
Animation
|
CDATA |
Animation
|
attributeType |
CDATA |
Animation
|
CDATA |
Animation
|
azimuth |
n/a |
n/a |
n/a |
n/a |
baseFrequency |
n/a |
n/a |
n/a |
n/a |
baseProfile |
CDATA |
Basic
Structure
|
CDATA |
Structure
|
baseline-shift |
n/a |
n/a |
(baseline | sub | super | <percentage> |
<length> | inherit) |
Text
|
bbox |
CDATA |
Basic
Font
|
CDATA |
Font
|
begin |
CDATA |
Animation
|
CDATA |
Animation
|
bias |
n/a |
n/a |
n/a |
n/a |
by |
CDATA |
Animation
|
CDATA |
Animation
|
calcMode |
(discrete | linear | paced | spline) |
Animation
|
(discrete | linear | paced | spline) |
Animation
|
cap-height |
%Number; |
Basic
Font
|
%Number; |
Font
|
class |
n/a |
n/a |
%ClassList; |
Style
|
clip |
n/a |
n/a |
(<shape> | auto | inherit) |
Viewport
Attribute
|
clip-path |
n/a |
n/a |
(<uri> | none | inherit) |
Basic
Clip
|
clip-rule |
n/a |
n/a |
(nonzero | evenodd | inherit ) |
Basic
Clip
|
clipPathUnits |
n/a |
n/a |
(userSpaceOnUse | objectBoundingBox) |
Basic
Clip
|
color |
%Color; |
Basic
Paint Attribute
|
%Color; |
Paint
Attribute
|
color-interpolation |
n/a |
n/a |
(auto | sRGB | linearRGB | inherit) |
Paint
Attribute
|
color-interpolation-filters |
n/a |
n/a |
(auto | sRGB | linearRGB | inherit) |
Basic
Filter
|
color-profile |
n/a |
n/a |
CDATA |
Color
Profile
|
color-rendering |
(auto | optimizeSpeed | optimizeQuality |
inherit) |
Basic
Paint Attribute
|
(auto | optimizeSpeed | optimizeQuality | inherit) |
Paint
Attribute
|
content |
CDATA |
Extensibility
|
CDATA |
Extensibility
|
contentScriptType |
n/a |
n/a |
%ContentType; |
Structure
|
contentStyleType |
n/a |
n/a |
%ContentType; |
Structure
|
cursor |
n/a |
n/a |
n/a |
n/a |
cx |
n/a |
n/a |
%Coordinate; |
Gradient
|
cx |
%Coordinate; |
Shape
|
%Coordinate; |
Shape
|
cy |
n/a |
n/a |
%Coordinate; |
Gradient
|
cy |
%Coordinate; |
Shape
|
%Coordinate; |
Shape
|
d |
%PathData; |
Basic
Font
|
%PathData; |
Font
|
d |
%PathData; |
Shape
|
%PathData; |
Shape
|
descent |
%Number; |
Basic
Font
|
%Number; |
Font
|
diffuseConstant |
n/a |
n/a |
n/a |
n/a |
direction |
n/a |
n/a |
(ltr | rtl | inherit) |
Text
|
display |
( inline | block | list-item | run-in | compact |
marker | table | inline-table | table-row-group | table-header-group
| table-footer-group | table-row | table-column-group | table-column
| table-cell | table-caption | none | inherit ) |
Basic
Graphics Attribute
|
( inline | block | list-item | run-in | compact |
marker | table | inline-table | table-row-group | table-header-group
| table-footer-group | table-row | table-column-group | table-column
| table-cell | table-caption | none | inherit ) |
Graphics
Attribute
|
divisor |
n/a |
n/a |
n/a |
n/a |
dominant-baseline |
n/a |
n/a |
(auto | autosense-script | no-change | reset |
ideographic | lower | hanging | mathematical | inherit) |
Text
|
dur |
CDATA |
Animation
|
CDATA |
Animation
|
dx |
n/a |
n/a |
%Lengths; |
Text
|
dx |
n/a |
n/a |
n/a |
Basic
Filter
|
dy |
n/a |
n/a |
%Lengths; |
Text
|
dy |
n/a |
n/a |
n/a |
Basic
Filter
|
edgeMode |
n/a |
n/a |
n/a |
n/a |
elevation |
n/a |
n/a |
n/a |
n/a |
enable-background |
n/a |
n/a |
n/a |
n/a |
end |
CDATA |
Animation
|
CDATA |
Animation
|
exponent |
n/a |
n/a |
%Number; |
Basic
Filter
|
externalResourcesRequired |
n/a |
n/a |
%Boolean; |
External
Resources Attribute
|
fill |
(remove | freeze) |
Animation
|
(remove | freeze) |
Animation
|
fill |
%Paint; |
Basic
Paint Attribute
|
%Paint; |
Paint
Attribute
|
fill-opacity |
n/a |
n/a |
%OpacityValue; |
Opacity Attribute
|
fill-rule |
%ClipFillRule; |
Basic
Paint Attribute
|
%ClipFillRule; |
Paint
Attribute
|
filter |
n/a |
n/a |
%FilterValue; |
Basic
Filter
|
filterRes |
n/a |
n/a |
%NumberOptionalNumber; |
Basic
Filter
|
filterUnits |
n/a |
n/a |
(userSpaceOnUse | objectBoundingBox) |
Basic
Filter
|
flood-color |
n/a |
n/a |
%SVGColor; |
Basic
Filter
|
flood-opacity |
n/a |
n/a |
%OpacityValue; |
Basic
Filter
|
font-family |
%FontFamilyValue; |
Basic
Text
|
%FontFamilyValue; |
Text
|
font-family |
CDATA |
Basic
Font
|
CDATA |
Font
|
font-size |
%FontSizeValue; |
Basic
Text
|
%FontSizeValue; |
Text
|
font-size |
CDATA |
Basic
Font
|
CDATA |
Font
|
font-size-adjust |
n/a |
n/a |
%FontSizeAdjustValue; |
Text
|
font-stretch |
n/a |
n/a |
(normal | wider | narrower | ultra-condensed |
extra-condensed | condensed | semi-condensed | semi-expanded |
expanded | extra-expanded | ultra-expanded | inherit) |
Text
|
font-stretch |
(normal | wider | narrower | ultra-condensed |
extra-condensed | condensed | semi-condensed | semi-expanded |
expanded | extra-expanded | ultra-expanded | inherit) |
Basic
Font
|
(normal | wider | narrower | ultra-condensed |
extra-condensed | condensed | semi-condensed | semi-expanded |
expanded | extra-expanded | ultra-expanded | inherit) |
Font
|
font-style |
(normal | italic | oblique | inherit) |
Basic
Text
|
(normal | italic | oblique | inherit) |
Text
|
font-style |
CDATA |
Basic
Font
|
CDATA |
Font
|
font-variant |
n/a |
n/a |
(normal | small-caps | inherit) |
Text
|
font-variant |
CDATA |
Basic
Font
|
CDATA |
Font
|
font-weight |
(normal | bold | bolder | lighter | 100 | 200 | 300 |
400 | 500 | 600 | 700 | 800 | 900 | inherit) |
Basic
Text
|
(normal | bold | bolder | lighter | 100 | 200 | 300 |
400 | 500 | 600 | 700 | 800 | 900 | inherit) |
Text
|
font-weight |
(normal | bold | bolder | lighter | 100 | 200 | 300 |
400 | 500 | 600 | 700 | 800 | 900 | inherit) |
Basic
Font
|
(normal | bold | bolder | lighter | 100 | 200 | 300 |
400 | 500 | 600 | 700 | 800 | 900 | inherit) |
Font
|
format |
n/a |
n/a |
CDATA |
Text
|
from |
CDATA |
Animation
|
CDATA |
Animation
|
fx |
n/a |
n/a |
%Coordinate; |
Gradient
|
fy |
n/a |
n/a |
%Coordinate; |
Gradient
|
g1 |
CDATA |
Basic
Font
|
CDATA |
Font
|
g2 |
CDATA |
Basic
Font
|
CDATA |
Font
|
glyph-name |
CDATA |
Basic
Font
|
CDATA |
Font
|
glyph-orientation-horizontal |
n/a |
n/a |
%GlyphOrientationHorizontalValue; |
Text
|
glyph-orientation-vertical |
n/a |
n/a |
%GlyphOrientationVerticalValue; |
Text
|
glyphRef |
n/a |
n/a |
CDATA |
Text
|
gradientTransform |
n/a |
n/a |
%TransformList; |
Gradient
|
gradientUnits |
n/a |
n/a |
(userSpaceOnUse | objectBoundingBox) |
Gradient
|
hanging |
%Number; |
Basic
Font
|
%Number; |
Font
|
height |
%Length; |
Basic
Structure
|
%Length; |
Structure
|
height |
%Length; |
Shape
|
%Length; |
Shape
|
height |
%Length; |
Image
|
%Length; |
Image
|
height |
n/a |
n/a |
%Length; |
Pattern
|
height |
%Length; |
Extensibility
|
%Length; |
Extensibility
|
height |
n/a |
n/a |
%Length; |
Mask
|
height |
n/a |
n/a |
%Length; |
Basic
Filter
|
horiz-adv-x |
%Number; |
Basic
Font
|
%Number; |
Font
|
horiz-origin-x |
%Number; |
Basic
Font
|
%Number; |
Font
|
horiz-origin-y |
n/a |
n/a |
%Number; |
Font
|
id |
%Number; |
Core
Attribute
|
%Number; |
Core
Attribute
|
ideographic |
%Number; |
Basic
Font
|
%Number; |
Font
|
image-rendering |
n/a |
n/a |
(auto | optimizeSpeed | optimizeQuality | inherit) |
Graphics
Attribute
|
in |
n/a |
n/a |
CDATA |
Basic
Filter
|
in2 |
n/a |
n/a |
CDATA |
Basic
Filter
|
intercept |
n/a |
n/a |
%Number; |
Basic
Filter
|
k |
%Number; |
Basic
Font
|
%Number; |
Font
|
k1 |
n/a |
n/a |
%Number; |
Basic
Filter
|
k2 |
n/a |
n/a |
%Number; |
Basic
Filter
|
k3 |
n/a |
n/a |
%Number; |
Basic
Filter
|
k4 |
n/a |
n/a |
%Number; |
Basic
Filter
|
kernelMatrix |
n/a |
n/a |
n/a |
n/a |
kernelUnitLength |
n/a |
n/a |
n/a |
n/a |
kerning |
n/a |
n/a |
%KerningValue; |
Text
|
keyPoints |
CDATA |
Animation
|
CDATA |
Animation
|
keySplines |
CDATA |
Animation
|
CDATA |
Animation
|
keyTimes |
CDATA |
Animation
|
CDATA |
Animation
|
lang |
%LanguageCodes; |
Basic
Font
|
%LanguageCodes; |
Font
|
lengthAdjust |
n/a |
n/a |
(spacing|spacingAndGlyphs) |
Text
|
letter-spacing |
n/a |
n/a |
%SpacingValue; |
Text
|
lighting-color |
n/a |
n/a |
n/a |
n/a |
limitingConeAngle |
n/a |
n/a |
n/a |
n/a |
local |
n/a |
n/a |
CDATA |
Color
Profile
|
marker |
n/a |
n/a |
n/a |
n/a |
marker-end |
n/a |
n/a |
n/a |
n/a |
marker-mid |
n/a |
n/a |
n/a |
n/a |
marker-start |
n/a |
n/a |
n/a |
n/a |
markerHeight |
n/a |
n/a |
n/a |
n/a |
markerUnits |
n/a |
n/a |
n/a |
n/a |
markerWidth |
n/a |
n/a |
n/a |
n/a |
mask |
n/a |
n/a |
%MaskValue; |
Mask
|
maskContentUnits |
n/a |
n/a |
(userSpaceOnUse | objectBoundingBox) |
Mask
|
maskUnits |
n/a |
n/a |
(userSpaceOnUse | objectBoundingBox) |
Mask
|
mathematical |
%Number; |
Basic
Font
|
%Number; |
Font
|
max |
CDATA |
Animation
|
CDATA |
Animation
|
media |
n/a |
n/a |
%MediaDesc; |
Style
|
method |
n/a |
n/a |
(align|stretch) |
Text
|
min |
CDATA |
Animation
|
CDATA |
Animation
|
mode |
n/a |
n/a |
(normal | multiply | screen | darken | lighten) |
Basic
Filter
|
name |
n/a |
n/a |
CDATA |
Color
Profile
|
name |
CDATA |
Basic
Font
|
CDATA |
Font
|
numOctaves |
n/a |
n/a |
n/a |
n/a |
offset |
n/a |
n/a |
%NumberOrPercentage; |
Gradient
|
offset |
n/a |
n/a |
%Number; |
Basic
Filter
|
onabort |
n/a |
n/a |
%Script; |
Document
Events Attribute
|
onactivate |
n/a |
n/a |
%Script; |
Graphical
Element Events Attribute
|
onbegin |
n/a |
n/a |
%Script; |
Animation
Events Attribute
|
onclick |
n/a |
n/a |
%Script; |
Graphical
Element Events Attribute
|
onend |
n/a |
n/a |
%Script; |
Animation
Events Attribute
|
onerror |
n/a |
n/a |
%Script; |
Document
Events Attribute
|
onfocusin |
n/a |
n/a |
%Script; |
Graphical
Element Events Attribute
|
onfocusout |
n/a |
n/a |
%Script; |
Graphical
Element Events Attribute
|
onload |
n/a |
n/a |
%Script; |
Graphical
Element Events Attribute
|
onmousedown |
n/a |
n/a |
%Script; |
Graphical
Element Events Attribute
|
onmousemove |
n/a |
n/a |
%Script; |
Graphical
Element Events Attribute
|
onmouseout |
n/a |
n/a |
%Script; |
Graphical
Element Events Attribute
|
onmouseover |
n/a |
n/a |
%Script; |
Graphical
Element Events Attribute
|
onmouseup |
n/a |
n/a |
%Script; |
Graphical
Element Events Attribute
|
onrepeat |
n/a |
n/a |
%Script; |
Animation
Events Attribute
|
onresize |
n/a |
n/a |
%Script; |
Document
Events Attribute
|
onscroll |
n/a |
n/a |
%Script; |
Document
Events Attribute
|
onunload |
n/a |
n/a |
%Script; |
Document
Events Attribute
|
onzoom |
n/a |
n/a |
%Script; |
Document
Events Attribute
|
opacity |
n/a |
n/a |
%OpacityValue; |
Opacity Attribute
|
operator |
n/a |
n/a |
(over | in | out | atop | xor | arithmetic) |
Basic
Filter
|
order |
n/a |
n/a |
n/a |
n/a |
orient |
n/a |
n/a |
n/a |
n/a |
orientation |
n/a |
n/a |
CDATA |
Font
|
origin |
CDATA |
Animation
|
CDATA |
Animation
|
overflow |
n/a |
n/a |
(visible | hidden | scroll | auto | inherit) |
Viewport
Attribute
|
overline-position |
%Number; |
Basic
Font
|
%Number; |
Font
|
overline-thickness |
%Number; |
Basic
Font
|
%Number; |
Font
|
panose-1 |
CDATA |
Basic
Font
|
CDATA |
Font
|
path |
CDATA |
Animation
|
CDATA |
Animation
|
pathLength |
%Number; |
Shape
|
%Number; |
Shape
|
patternContentUnits |
n/a |
n/a |
(userSpaceOnUse | objectBoundingBox) |
Pattern
|
patternTransform |
n/a |
n/a |
%TransformList; |
Pattern
|
patternUnits |
n/a |
n/a |
(userSpaceOnUse | objectBoundingBox) |
Pattern
|
pointer-events |
n/a |
n/a |
( visiblePainted | visibleFill | visibleStroke |
visible | painted | fill | stroke | all | none | inherit) |
Graphics
Attribute
|
points |
%Points; |
Shape
|
%Points; |
Shape
|
pointsAtX |
n/a |
n/a |
n/a |
n/a |
pointsAtY |
n/a |
n/a |
n/a |
n/a |
pointsAtZ |
n/a |
n/a |
n/a |
n/a |
preserveAlpha |
n/a |
n/a |
n/a |
n/a |
preserveAspectRatio |
%PreserveAspectRatioSpec; |
Basic
Structure
|
%PreserveAspectRatioSpec; |
Structure
|
preserveAspectRatio |
%PreserveAspectRatioSpec; |
Image
|
%PreserveAspectRatioSpec; |
Image
|
preserveAspectRatio |
n/a |
n/a |
%PreserveAspectRatioSpec; |
View
|
preserveAspectRatio |
n/a |
n/a |
%PreserveAspectRatioSpec; |
Pattern
|
primitiveUnits |
n/a |
n/a |
(userSpaceOnUse | objectBoundingBox) |
Basic
Filter
|
r |
n/a |
n/a |
%Length; |
Gradient
|
r |
%Length; |
Shape
|
%Length; |
Shape
|
radius |
n/a |
n/a |
n/a |
n/a |
refX |
n/a |
n/a |
n/a |
n/a |
refY |
n/a |
n/a |
n/a |
n/a |
rendering-intent |
n/a |
n/a |
CDATA |
Color
Profile
|
repeatCount |
CDATA |
Animation
|
CDATA |
Animation
|
repeatDur |
CDATA |
Animation
|
CDATA |
Animation
|
requiredExtensions |
%ExtensionList; |
Conditional
Processing
|
%ExtensionList; |
Conditional
Processing
|
requiredFeatures |
%ExtensionList; |
Conditional
Processing
|
%ExtensionList; |
Conditional
Processing
|
restart |
(always | never | whenNotActive) |
Animation
|
(always | never | whenNotActive) |
Animation
|
result |
n/a |
n/a |
CDATA |
Basic
Filter
|
rotate |
CDATA |
Animation
|
CDATA |
Animation
|
rotate |
%Numbers; |
Basic
Text
|
%Numbers; |
Text
|
rx |
%Length; |
Shape
|
%Length; |
Shape
|
ry |
%Length; |
Shape
|
%Length; |
Shape
|
scale |
n/a |
n/a |
n/a |
n/a |
seed |
n/a |
n/a |
n/a |
n/a |
shape-rendering |
n/a |
n/a |
(auto | optimizeSpeed | crispEdges |
geometricPrecision | inherit) |
Graphics
Attribute
|
slope |
%Number; |
Basic
Font
|
%Number; |
Font
|
slope |
n/a |
n/a |
%Number; |
Basic
Filter
|
spacing |
n/a |
n/a |
(auto|exact) |
Text
|
specularConstant |
n/a |
n/a |
n/a |
n/a |
specularExponent |
n/a |
n/a |
n/a |
n/a |
spreadMethod |
n/a |
n/a |
(pad | reflect | repeat) |
Gradient
|
startOffset |
n/a |
n/a |
%Length; |
Text
|
stdDeviation |
n/a |
n/a |
%NumberOptionalNumber; |
Basic
Filter
|
stemh |
%Number; |
Basic
Font
|
%Number; |
Font
|
stemv |
%Number; |
Basic
Font
|
%Number; |
Font
|
stitchTiles |
n/a |
n/a |
n/a |
n/a |
stop-color |
n/a |
n/a |
%SVGColor; |
Gradient
|
stop-opacity |
n/a |
n/a |
%OpacityValue; |
Gradient
|
strikethrough-position |
%Number; |
Basic
Font
|
%Number; |
Font
|
strikethrough-thickness |
%Number; |
Basic
Font
|
%Number; |
Font
|
stroke |
%Paint; |
Basic
Paint Attribute
|
%Paint; |
Paint
Attribute
|
stroke-dasharray |
%StrokeDashArrayValue; |
Basic
Paint Attribute
|
%StrokeDashArrayValue; |
Paint
Attribute
|
stroke-dashoffset |
%StrokeDashOffsetValue; |
Basic
Paint Attribute
|
%StrokeDashOffsetValue; |
Paint
Attribute
|
stroke-linecap |
(butt | round | square | inherit) |
Basic
Paint Attribute
|
(butt | round | square | inherit) |
Paint
Attribute
|
stroke-linejoin |
(miter | round | bevel | inherit) |
Basic
Paint Attribute
|
(miter | round | bevel | inherit) |
Paint
Attribute
|
stroke-miterlimit |
%StrokeMiterLimitValue; |
Basic
Paint Attribute
|
%StrokeMiterLimitValue; |
Paint
Attribute
|
stroke-opacity |
n/a |
n/a |
%OpacityValue; |
Opacity Attribute
|
stroke-width |
%StrokeWidthValue; |
Basic
Paint Attribute
|
%StrokeWidthValue; |
Paint
Attribute
|
style |
n/a |
n/a |
%StyleSheet; |
Style
|
surfaceScale |
n/a |
n/a |
n/a |
n/a |
systemLanguage |
%LanguageCodes; |
Conditional
Processing
|
%LanguageCodes; |
Conditional
Processing
|
tableValues |
n/a |
n/a |
CDATA |
Basic
Filter
|
target |
%LinkTarget; |
Hyperlinking
|
%LinkTarget; |
Hyperlinking
|
targetX |
n/a |
n/a |
n/a |
n/a |
targetY |
n/a |
n/a |
n/a |
n/a |
text-anchor |
(start | middle | end | inherit) |
Basic
Text
|
(start | middle | end | inherit) |
Text
|
text-decoration |
n/a |
n/a |
%TextDecorationValue; |
Text
|
text-rendering |
n/a |
n/a |
(auto | optimizeSpeed | optimizeLegibility |
geometricPrecision | inherit) |
Graphics
Attribute
|
textLength |
n/a |
n/a |
%Length; |
Text
|
title |
n/a |
n/a |
%Text; |
Style
|
to |
CDATA |
Animation
|
CDATA |
Animation
|
transform |
%TransformList; |
Basic
Structure
|
%TransformList; |
Structure
|
transform |
%TransformList; |
Hyperlinking
|
%TransformList; |
Hyperlinking
|
transform |
%TransformList; |
Shape
|
%TransformList; |
Shape
|
transform |
%TransformList; |
Image
|
%TransformList; |
Image
|
transform |
%TransformList; |
Basic
Text
|
%TransformList; |
Text
|
transform |
%TransformList; |
Conditional
Processing
|
%TransformList; |
Conditional
Processing
|
transform |
n/a |
n/a |
%TransformList; |
Basic
Clip
|
type |
n/a |
n/a |
%ContentType; |
Style
|
type |
n/a |
n/a |
%ContentType; |
Scripting
|
type |
n/a |
n/a |
(identity | table | discrete | linear | gamma) |
Basic
Filter
|
type |
n/a |
n/a |
(matrix | saturate | hueRotate |
luminanceToAlpha) |
Basic
Filter
|
type |
(translate | scale | rotate | skewX | skewY) |
Animation
|
(translate | scale | rotate | skewX | skewY) |
Animation
|
u1 |
CDATA |
Basic
Font
|
CDATA |
Font
|
u2 |
CDATA |
Basic
Font
|
CDATA |
Font
|
underline-position |
%Number; |
Basic
Font
|
%Number; |
Font
|
underline-thickness |
%Number; |
Basic
Font
|
%Number; |
Font
|
unicode |
CDATA |
Basic
Font
|
CDATA |
Font
|
unicode-bidi |
n/a |
n/a |
(normal | embed | bidi-override | inherit) |
Text
|
unicode-range |
CDATA |
Basic
Font
|
CDATA |
Font
|
units-per-em |
%Number; |
Basic
Font
|
%Number; |
Font
|
v-alphabetic |
n/a |
n/a |
%Number; |
Font
|
v-hanging |
n/a |
n/a |
%Number; |
Font
|
v-ideographic |
n/a |
n/a |
%Number; |
Font
|
v-mathematical |
n/a |
n/a |
%Number; |
Font
|
values |
CDATA |
Animation
|
CDATA |
Animation
|
values |
n/a |
n/a |
CDATA |
Basic
Filter
|
version |
%Number; |
Basic
Structure
|
%Number; |
Structure
|
vert-adv-y |
n/a |
n/a |
%Number; |
Font
|
vert-origin-x |
n/a |
n/a |
%Number; |
Font
|
vert-origin-y |
n/a |
n/a |
%Number; |
Font
|
viewBox |
%ViewBoxSpec; |
Basic
Structure
|
%ViewBoxSpec; |
Structure
|
viewBox |
n/a |
n/a |
%ViewBoxSpec; |
View
|
viewBox |
n/a |
n/a |
%ViewBoxSpec; |
Pattern
|
viewTarget |
n/a |
n/a |
CDATA |
View
|
visibility |
(visible | hidden | inherit) |
Basic
Graphics Attribute
|
(visible | hidden | inherit) |
Graphics
Attribute
|
width |
%Length; |
Basic
Structure
|
%Length; |
Structure
|
width |
%Length; |
Shape
|
%Length; |
Shape
|
width |
%Length; |
Image
|
%Length; |
Image
|
width |
n/a |
n/a |
%Length; |
Pattern
|
width |
%Length; |
Extensibility
|
%Length; |
Extensibility
|
width |
n/a |
n/a |
%Length; |
Mask
|
width |
n/a |
n/a |
%Length; |
Basic
Filter
|
widths |
CDATA |
Basic
Font
|
CDATA |
Font
|
word-spacing |
n/a |
n/a |
%SpacingValue; |
Text
|
writing-mode |
n/a |
n/a |
(lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) |
Text
|
x |
%Coordinate; |
Basic
Structure
|
%Coordinate; |
Structure
|
x |
%Coordinate; |
Shape
|
%Coordinate; |
Shape
|
x |
%Coordinate; |
Image
|
%Coordinate; |
Image
|
x |
%Coordinates; |
Basic
Text
|
%Coordinates; |
Text
|
x |
n/a |
n/a |
%Coordinate; |
Pattern
|
x |
n/a |
n/a |
%Coordinate; |
Mask
|
x |
%Coordinate; |
Extensibility
|
%Coordinate; |
Extensibility
|
x |
n/a |
n/a |
%Coordinate; |
Basic
Filter
|
x-height |
%Number; |
Basic
Font
|
%Number; |
Font
|
x1 |
%Coordinate; |
Shape
|
%Coordinate; |
Shape
|
x1 |
n/a |
n/a |
%Coordinate; |
Gradient
|
x2 |
%Coordinate; |
Shape
|
%Coordinate; |
Shape
|
x2 |
n/a |
n/a |
%Coordinate; |
Gradient
|
xChannelSelector |
n/a |
n/a |
n/a |
n/a |
xlink:actuate |
(onLoad) |
XLink
Attribute
|
(onLoad) |
XLink
Attribute
|
xlink:actuate |
(onRequest) |
Hyperlinking
|
(onRequest) |
Hyperlinking
|
xlink:arcrole |
%URI; |
XLink
Attribute
|
%URI; |
XLink
Attribute
|
xlink:href |
n/a |
n/a |
%URI; |
Basic Filter
|
xlink:href |
n/a |
n/a |
%URI; |
Color Profile,
Font,
Gradient,
Pattern,
Scripting,
Text
|
xlink:href |
%URI; |
Basic
Structure
|
%URI; |
Structure
|
xlink:href |
%URI; |
Animation,
Hyperlinking,
Image
|
%URI; |
Animation,
Hyperlinking,
Image
|
xlink:role |
%URI; |
XLink
Attribute
|
%URI; |
XLink
Attribute
|
xlink:show |
(new|replace) |
XLink
Attribute
|
(new|replace) |
XLink
Attribute
|
xlink:title |
CDATA |
XLink
Attribute
|
CDATA |
XLink
Attribute
|
xlink:type |
(simple) |
XLink
Attribute
|
(simple) |
XLink
Attribute
|
xml:base |
%URI; |
Core
Attribute
|
%URI; |
Core
Attribute
|
xml:lang |
%LanguageCode |
Core
Attribute
|
%LanguageCode |
Core
Attribute
|
xml:space |
(default|preserve) |
Core
Attribute
|
(default|preserve) |
Core
Attribute, Style
|
y |
%Coordinate; |
Basic
Structure
|
%Coordinate; |
Structure
|
y |
%Coordinate; |
Shape
|
%Coordinate; |
Shape
|
y |
%Coordinate; |
Image
|
%Coordinate; |
Image
|
y |
%Coordinates; |
Basic
Text
|
%Coordinates; |
Text
|
y |
n/a |
n/a |
%Coordinate; |
Pattern
|
y |
n/a |
n/a |
%Coordinate; |
Mask
|
y |
%Coordinate; |
Extensibility
|
%Coordinate; |
Extensibility
|
y |
n/a |
n/a |
%Coordinate; |
Basic
Filter
|
y1 |
%Coordinate; |
Shape
|
%Coordinate; |
Shape
|
y1 |
n/a |
n/a |
%Coordinate; |
Gradient
|
y2 |
%Coordinate; |
Shape
|
%Coordinate; |
Shape
|
y2 |
n/a |
n/a |
%Coordinate; |
Gradient
|
yChannelSelector |
n/a |
n/a |
n/a |
n/a |
z |
n/a |
n/a |
n/a |
n/a |
zoomAndPan |
(disable | magnify) |
Basic
Structure
|
(disable | magnify) |
Structure
|
zoomAndPan |
n/a |
n/a |
(disable | magnify) |
View
|
This appendix is normative.
Attribute |
SVGTiny |
SVG 1.1 Module |
SVGBasic |
SVG 1.1 Module |
alignment-baseline |
n/a |
n/a |
( baseline | top | before-edge | text-top |
text-before-edge | middle | bottom | after-edge | text-bottom |
text-after-edge | ideographic | lower | hanging | mathematical |
inherit) |
Text
|
baseline-shift |
n/a |
n/a |
(baseline | sub | super | <percentage> |
<length> | inherit) |
Text
|
clip |
n/a |
n/a |
(<shape> | auto | inherit) |
Viewport
Attribute
|
clip-path |
n/a |
n/a |
(<uri> | none | inherit) |
Basic
Clip
|
clip-rule |
n/a |
n/a |
(nonzero | evenodd | inherit) |
Basic
Clip
|
color |
%Color; |
Basic
Paint Attribute
|
%Color; |
Paint
Attribute
|
color-interpolation |
n/a |
n/a |
(auto | sRGB | linearRGB | inherit) |
Paint
Attribute
|
color-interpolation-filters |
n/a |
n/a |
(auto | sRGB | linearRGB | inherit) |
Basic
Filter
|
color-profile |
n/a |
n/a |
CDATA |
Color
Profile
|
color-rendering |
(auto | optimizeSpeed | optimizeQuality |
inherit) |
Basic
Paint Attribute
|
(auto | optimizeSpeed | optimizeQuality | inherit) |
Paint
Attribute
|
cursor |
n/a |
n/a |
n/a |
n/a |
direction |
n/a |
n/a |
(ltr | rtl | inherit) |
Text
|
display |
( inline | block | list-item | run-in | compact |
marker | table | inline-table | table-row-group | table-header-group
| table-footer-group | table-row | table-column-group | table-column
| table-cell | table-caption | none | inherit ) |
Basic
Graphics Attribute
|
( inline | block | list-item | run-in | compact |
marker | table | inline-table | table-row-group | table-header-group
| table-footer-group | table-row | table-column-group | table-column
| table-cell | table-caption | none | inherit ) |
Graphics
Attribute
|
dominant-baseline |
n/a |
n/a |
(auto | autosense-script | no-change | reset |
ideographic | lower | hanging | mathematical | inherit) |
Text
|
enable-background |
n/a |
n/a |
n/a |
n/a |
fill |
%Paint; |
Basic
Paint Attribute
|
%Paint; |
Paint
Attribute
|
fill-opacity |
n/a |
n/a |
%OpacityValue; |
Opacity Attribute
|
fill-rule |
%ClipFillRule; |
Basic
Paint Attribute
|
%ClipFillRule; |
Paint
Attribute
|
filter |
n/a |
n/a |
%FilterValue; |
Basic
Filter
|
flood-color |
n/a |
n/a |
%SVGColor; |
Basic
Filter
|
flood-opacity |
n/a |
n/a |
%OpacityValue; |
Basic
Filter
|
font-family |
%FontFamilyValue; |
Basic
Text
|
%FontFamilyValue; |
Text
|
font-size |
%FontSizeValue; |
Basic
Text
|
%FontSizeValue; |
Text
|
font-size-adjust |
n/a |
n/a |
%FontSizeAdjustValue; |
Text
|
font-stretch |
n/a |
n/a |
(normal | wider | narrower | ultra-condensed |
extra-condensed | condensed | semi-condensed | semi-expanded |
expanded | extra-expanded | ultra-expanded | inherit) |
Text
|
font-style |
(normal | italic | oblique | inherit) |
Basic
Text
|
(normal | italic | oblique | inherit) |
Text
|
font-variant |
n/a |
n/a |
(normal | small-caps | inherit) |
Text
|
font-weight |
(normal | bold | bolder | lighter | 100 | 200 | 300 |
400 | 500 | 600 | 700 | 800 | 900 | inherit) |
Basic
Text
|
(normal | bold | bolder | lighter | 100 | 200 | 300 |
400 | 500 | 600 | 700 | 800 | 900 | inherit) |
Text
|
glyph-orientation-horizontal |
n/a |
n/a |
%GlyphOrientationHorizontalValue; |
Text
|
glyph-orientation-vertical |
n/a |
n/a |
%GlyphOrientationVerticalValue; |
Text
|
image-rendering |
n/a |
n/a |
(auto | optimizeSpeed | optimizeQuality | inherit) |
Graphics
Attribute
|
kerning |
n/a |
n/a |
%KerningValue; |
Text
|
letter-spacing |
n/a |
n/a |
%SpacingValue; |
Text
|
lighting-color |
n/a |
n/a |
n/a |
n/a |
marker |
n/a |
n/a |
n/a |
n/a |
marker-end |
n/a |
n/a |
n/a |
n/a |
marker-mid |
n/a |
n/a |
n/a |
n/a |
marker-start |
n/a |
n/a |
n/a |
n/a |
mask |
n/a |
n/a |
%MaskValue; |
Mask
|
opacity |
n/a |
n/a |
%OpacityValue; |
Opacity Attribute
|
overflow |
n/a |
n/a |
(visible | hidden | scroll | auto | inherit) |
Viewport
Attribute
|
pointer-events |
n/a |
n/a |
( visiblePainted | visibleFill | visibleStroke |
visible | painted | fill | stroke | all | none | inherit) |
Graphics
Attribute
|
shape-rendering |
n/a |
n/a |
(auto | optimizeSpeed | crispEdges |
geometricPrecision | inherit) |
Graphics
Attribute
|
stop-color |
n/a |
n/a |
%SVGColor; |
Gradient
|
stop-opacity |
n/a |
n/a |
%OpacityValue; |
Gradient
|
stroke |
%Paint; |
Basic
Paint Attribute
|
%Paint; |
Paint
Attribute
|
stroke-dasharray |
%StrokeDashArrayValue; |
Basic
Paint Attribute
|
%StrokeDashArrayValue; |
Paint
Attribute
|
stroke-dashoffset |
%StrokeDashOffsetValue; |
Basic
Paint Attribute
|
%StrokeDashOffsetValue; |
Paint
Attribute
|
stroke-linecap |
(butt | round | square | inherit) |
Basic
Paint Attribute
|
(butt | round | square | inherit) |
Paint
Attribute
|
stroke-linejoin |
(miter | round | bevel | inherit) |
Basic
Paint Attribute
|
(miter | round | bevel | inherit) |
Paint
Attribute
|
stroke-miterlimit |
%StrokeMiterLimitValue; |
Basic
Paint Attribute
|
%StrokeMiterLimitValue; |
Paint
Attribute
|
stroke-opacity |
n/a |
n/a |
%OpacityValue; |
Opacity Attribute
|
stroke-width |
%StrokeWidthValue; |
Basic
Paint Attribute
|
%StrokeWidthValue; |
Paint
Attribute
|
text-anchor |
(start | middle | end | inherit) |
Basic
Text
|
(start | middle | end | inherit) |
Text
|
text-decoration |
n/a |
n/a |
%TextDecorationValue; |
Text
|
text-rendering |
n/a |
n/a |
(auto | optimizeSpeed | optimizeLegibility |
geometricPrecision | inherit) |
Graphics
Attribute
|
unicode-bidi |
n/a |
n/a |
(normal | embed | bidi-override | inherit) |
Text
|
visibility |
(visible | hidden | inherit) |
Basic
Graphics Attribute
|
(visible | hidden | inherit) |
Graphics
Attribute
|
word-spacing |
n/a |
n/a |
%SpacingValue; |
Text
|
writing-mode |
n/a |
n/a |
(lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) |
Text
|
This appendix is normative.
D.1. SVG Tiny DTD
Driver
This section contains the DTD driver for the SVG Tiny document type
implementation as an XML DTD. It relies upon SVG 1.1 module implementations
defined in [SVG
1.1].
<!-- ....................................................................... -->
<!-- SVG 1.1 Tiny DTD ...................................................... -->
<!-- file: svg11-tiny.dtd
-->
<!-- SVG 1.1 Tiny DTD
This is SVG Tiny, a proper subset of SVG.
The Scalable Vector Graphics (SVG)
Copyright 2001, 2002 World Wide Web Consortium
(Massachusetts Institute of Technology, Institut National de
Recherche en Informatique et en Automatique, Keio University).
All Rights Reserved.
Permission to use, copy, modify and distribute the SVG DTD and its
accompanying documentation for any purpose and without fee is hereby
granted in perpetuity, provided that the above copyright notice and
this paragraph appear in all copies. The copyright holders make no
representation about the suitability of the DTD for any purpose.
It is provided "as is" without expressed or implied warranty.
Author: Jun Fujisawa <fujisawa.jun@canon.co.jp>
Revision: $Id: index.html,v 1.22 2018/10/09 13:20:53 denis Exp $
-->
<!-- This is the driver file for version 1.1 of the SVG Tiny DTD.
This DTD is identified by the PUBLIC and SYSTEM identifiers:
PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN"
SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"
-->
<!ENTITY % SVG.version "-//W3C//DTD SVG 1.1 Tiny//EN" >
<!-- Use this URI to identify the default namespace:
"http://www.w3.org/2000/svg"
See the Qualified Names module for information
on the use of namespace prefixes in the DTD.
-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % SVG.prefix "" >
<!-- reserved for future use with document profiles -->
<!ENTITY % SVG.profile "" >
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- Pre-Framework Redeclaration Placeholder ..................... -->
<!ENTITY % svg-prefw-redecl.module "IGNORE" >
<![%svg-prefw-redecl.module;[
%svg-prefw-redecl.mod;]]>
<!-- Document Model Module ....................................... -->
<!ENTITY % svg-model.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Tiny Document Model//EN"
"svg11-tiny-model.mod" >
<!-- Attribute Collection Module ................................. -->
<!ENTITY % svg-attribs.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Tiny Attribute Collection//EN"
"svg11-tiny-attribs.mod" >
<!-- Modular Framework Module .................................... -->
<!ENTITY % svg-framework.module "INCLUDE" >
<![%svg-framework.module;[
<!ENTITY % svg-framework.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Modular Framework//EN"
"svg-framework.mod" >
%svg-framework.mod;]]>
<!-- Post-Framework Redeclaration Placeholder .................... -->
<!ENTITY % svg-postfw-redecl.module "IGNORE" >
<![%svg-postfw-redecl.module;[
%svg-postfw-redecl.mod;]]>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- Core Attribute Module ....................................... -->
<!ENTITY % svg-core-attrib.module "INCLUDE" >
<![%svg-core-attrib.module;[
<!ENTITY % svg-core-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Core Attribute//EN"
"svg-core-attrib.mod" >
%svg-core-attrib.mod;]]>
<!-- Basic Paint Attribute Module ................................ -->
<!ENTITY % svg-paint-attrib.module "INCLUDE" >
<![%svg-paint-attrib.module;[
<!ENTITY % svg-paint-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Basic Paint Attribute//EN"
"svg-basic-paint-attrib.mod" >
%svg-paint-attrib.mod;]]>
<!-- Basic Graphics Attribute Module ............................. -->
<!ENTITY % svg-graphics-attrib.module "INCLUDE" >
<![%svg-graphics-attrib.module;[
<!ENTITY % svg-graphics-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Basic Graphics Attribute//EN"
"svg-basic-graphics-attrib.mod" >
%svg-graphics-attrib.mod;]]>
<!-- XLink Attribute Module ...................................... -->
<!ENTITY % svg-xlink-attrib.module "INCLUDE" >
<![%svg-xlink-attrib.module;[
<!ENTITY % svg-xlink-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 XLink Attribute//EN"
"svg-xlink-attrib.mod" >
%svg-xlink-attrib.mod;]]>
<!-- External Resources Attribute Module ......................... -->
<!ENTITY % svg-extresources-attrib.module "INCLUDE" >
<![%svg-extresources-attrib.module;[
<!ENTITY % svg-extresources-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 External Resources Attribute//EN"
"svg-extresources-attrib.mod" >
%svg-extresources-attrib.mod;]]>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- Basic Structure Module ...................................... -->
<!ENTITY % svg-structure.module "INCLUDE" >
<![%svg-structure.module;[
<!ENTITY % svg-structure.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Basic Structure//EN"
"svg-basic-structure.mod" >
%svg-structure.mod;]]>
<!-- Conditional Processing Module ............................... -->
<!ENTITY % svg-conditional.module "INCLUDE" >
<![%svg-conditional.module;[
<!ENTITY % svg-conditional.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Conditional Processing//EN"
"svg-conditional.mod" >
%svg-conditional.mod;]]>
<!-- Image Module ................................................ -->
<!ENTITY % svg-image.module "INCLUDE" >
<![%svg-image.module;[
<!ENTITY % svg-image.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Image//EN"
"svg-image.mod" >
%svg-image.mod;]]>
<!-- Shape Module ................................................ -->
<!ENTITY % svg-shape.module "INCLUDE" >
<![%svg-shape.module;[
<!ENTITY % svg-shape.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Shape//EN"
"svg-shape.mod" >
%svg-shape.mod;]]>
<!-- Basic Text Module ........................................... -->
<!ENTITY % svg-text.module "INCLUDE" >
<![%svg-text.module;[
<!ENTITY % svg-text.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Basic Text//EN"
"svg-basic-text.mod" >
%svg-text.mod;]]>
<!-- Hyperlinking Module ......................................... -->
<!ENTITY % svg-hyperlink.module "INCLUDE" >
<![%svg-hyperlink.module;[
<!ENTITY % svg-hyperlink.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Hyperlinking//EN"
"svg-hyperlink.mod" >
%svg-hyperlink.mod;]]>
<!-- Animation Module ............................................ -->
<!ENTITY % svg-animation.module "INCLUDE" >
<![%svg-animation.module;[
<!ENTITY % svg-animation.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Animation//EN"
"svg-animation.mod" >
%svg-animation.mod;]]>
<!-- Basic Font Module ........................................... -->
<!ENTITY % svg-font.module "INCLUDE" >
<![%svg-font.module;[
<!ENTITY % svg-font.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Basic Font//EN"
"svg-basic-font.mod" >
%svg-font.mod;]]>
<!-- Extensibility Module ........................................ -->
<!ENTITY % svg-extensibility.module "INCLUDE" >
<![%svg-extensibility.module;[
<!ENTITY % svg-extensibility.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Extensibility//EN"
"svg-extensibility.mod" >
%svg-extensibility.mod;]]>
<!-- end of SVG 1.1 Tiny DTD ............................................... -->
<!-- ....................................................................... -->
D.2. SVG Tiny Document
Model
This section contains the content model for SVG Tiny. The content model
module and the SVG Tiny DTD Driver work together to customize the module
implementations to the document type's specific requirements.
<!-- ....................................................................... -->
<!-- SVG 1.1 Tiny Document Model Module .................................... -->
<!-- file: svg11-tiny-model.mod
This is SVG Tiny, a proper subset of SVG.
Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
Revision: $Id: index.html,v 1.22 2018/10/09 13:20:53 denis Exp $
This DTD module is identified by the PUBLIC and SYSTEM identifiers:
PUBLIC "-//W3C//ENTITIES SVG 1.1 Tiny Document Model//EN"
SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny-model.mod"
....................................................................... -->
<!-- SVG 1.1 Tiny Document Model
This module describes the groupings of elements that make up
common content models for SVG elements.
-->
<!-- Content Models (Default) .......................... -->
<!ENTITY % SVG.Style.class "" >
<!ENTITY % SVG.TextContent.class "" >
<!ENTITY % SVG.Marker.class "" >
<!ENTITY % SVG.Profile.class "" >
<!ENTITY % SVG.Gradient.class "" >
<!ENTITY % SVG.Pattern.class "" >
<!ENTITY % SVG.Clip.class "" >
<!ENTITY % SVG.Mask.class "" >
<!ENTITY % SVG.Filter.class "" >
<!ENTITY % SVG.FilterPrimitive.class "" >
<!ENTITY % SVG.Cursor.class "" >
<!ENTITY % SVG.View.class "" >
<!ENTITY % SVG.Script.class "" >
<!-- module: svg-basic-structure.mod ................... -->
<!ENTITY % SVG.Description.extra.class "" >
<!ENTITY % SVG.Description.class
"%SVG.desc.qname; | %SVG.title.qname; | %SVG.metadata.qname;
%SVG.Description.extra.class;"
>
<!ENTITY % SVG.Use.extra.class "" >
<!ENTITY % SVG.Use.class
"| %SVG.use.qname; %SVG.Use.extra.class;"
>
<!ENTITY % SVG.Structure.extra.class "" >
<!ENTITY % SVG.Structure.class
"| %SVG.g.qname; | %SVG.defs.qname; %SVG.Use.class;
%SVG.Structure.extra.class;"
>
<!-- module: svg-conditional.mod ....................... -->
<!ENTITY % SVG.Conditional.extra.class "" >
<!ENTITY % SVG.Conditional.class
"| %SVG.switch.qname; %SVG.Conditional.extra.class;"
>
<!-- module: svg-image.mod ............................. -->
<!ENTITY % SVG.Image.extra.class "" >
<!ENTITY % SVG.Image.class
"| %SVG.image.qname; %SVG.Image.extra.class;"
>
<!-- module: svg-shape.mod ............................. -->
<!ENTITY % SVG.Shape.extra.class "" >
<!ENTITY % SVG.Shape.class
"| %SVG.path.qname; | %SVG.rect.qname; | %SVG.circle.qname;
| %SVG.line.qname; | %SVG.ellipse.qname; | %SVG.polyline.qname;
| %SVG.polygon.qname; %SVG.Shape.extra.class;"
>
<!-- module: svg-basic-text.mod ........................ -->
<!ENTITY % SVG.Text.extra.class "" >
<!ENTITY % SVG.Text.class
"| %SVG.text.qname; %SVG.Text.extra.class;"
>
<!-- module: svg-hyperlink.mod ......................... -->
<!ENTITY % SVG.Hyperlink.extra.class "" >
<!ENTITY % SVG.Hyperlink.class
"| %SVG.a.qname; %SVG.Hyperlink.extra.class;"
>
<!-- module: svg-animation.mod ......................... -->
<!ENTITY % SVG.Animation.extra.class "" >
<!ENTITY % SVG.Animation.class
"%SVG.animate.qname; | %SVG.set.qname; | %SVG.animateMotion.qname; |
%SVG.animateColor.qname; | %SVG.animateTransform.qname;
%SVG.Animation.extra.class;"
>
<!-- module: svg-basic-font.mod ........................ -->
<!ENTITY % SVG.Font.extra.class "" >
<!ENTITY % SVG.Font.class
"| %SVG.font.qname; | %SVG.font-face.qname; %SVG.Font.extra.class;"
>
<!-- module: svg-extensibility.mod ..................... -->
<!ENTITY % SVG.Extensibility.extra.class "" >
<!ENTITY % SVG.Extensibility.class
"| %SVG.foreignObject.qname; %SVG.Extensibility.extra.class;"
>
<!-- end of svg11-tiny-model.mod -->
This appendix is normative.
E.1. SVG Basic DTD
Driver
This section contains the DTD driver for the SVG Basic document type
implementation as an XML DTD. It relies upon SVG 1.1 module implementations
defined in [SVG
1.1].
<!-- ....................................................................... -->
<!-- SVG 1.1 Basic DTD ..................................................... -->
<!-- file: svg11-basic.dtd
-->
<!-- SVG 1.1 Basic DTD
This is SVG Basic, a proper subset of SVG.
The Scalable Vector Graphics (SVG)
Copyright 2001, 2002 World Wide Web Consortium
(Massachusetts Institute of Technology, Institut National de
Recherche en Informatique et en Automatique, Keio University).
All Rights Reserved.
Permission to use, copy, modify and distribute the SVG DTD and its
accompanying documentation for any purpose and without fee is hereby
granted in perpetuity, provided that the above copyright notice and
this paragraph appear in all copies. The copyright holders make no
representation about the suitability of the DTD for any purpose.
It is provided "as is" without expressed or implied warranty.
Author: Jun Fujisawa <fujisawa.jun@canon.co.jp>
Revision: $Id: index.html,v 1.22 2018/10/09 13:20:53 denis Exp $
-->
<!-- This is the driver file for version 1.1 of the SVG Basic DTD.
This DTD is identified by the PUBLIC and SYSTEM identifiers:
PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN"
SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd"
-->
<!ENTITY % SVG.version "-//W3C//DTD SVG 1.1 Basic//EN" >
<!-- Use this URI to identify the default namespace:
"http://www.w3.org/2000/svg"
See the Qualified Names module for information
on the use of namespace prefixes in the DTD.
-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % SVG.prefix "" >
<!-- reserved for future use with document profiles -->
<!ENTITY % SVG.profile "" >
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- Pre-Framework Redeclaration Placeholder ..................... -->
<!ENTITY % svg-prefw-redecl.module "IGNORE" >
<![%svg-prefw-redecl.module;[
%svg-prefw-redecl.mod;]]>
<!-- Document Model Module ....................................... -->
<!ENTITY % svg-model.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Basic Document Model//EN"
"svg11-basic-model.mod" >
<!-- Attribute Collection Module ................................. -->
<!ENTITY % svg-attribs.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Basic Attribute Collection//EN"
"svg11-basic-attribs.mod" >
<!-- Modular Framework Module .................................... -->
<!ENTITY % svg-framework.module "INCLUDE" >
<![%svg-framework.module;[
<!ENTITY % svg-framework.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Modular Framework//EN"
"svg-framework.mod" >
%svg-framework.mod;]]>
<!-- Post-Framework Redeclaration Placeholder .................... -->
<!ENTITY % svg-postfw-redecl.module "IGNORE" >
<![%svg-postfw-redecl.module;[
%svg-postfw-redecl.mod;]]>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- Core Attribute Module ....................................... -->
<!ENTITY % svg-core-attrib.module "INCLUDE" >
<![%svg-core-attrib.module;[
<!ENTITY % svg-core-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Core Attribute//EN"
"svg-core-attrib.mod" >
%svg-core-attrib.mod;]]>
<!-- Viewport Attribute Module ................................... -->
<!ENTITY % svg-viewport-attrib.module "INCLUDE" >
<![%svg-viewport-attrib.module;[
<!ENTITY % svg-viewport-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Viewport Attribute//EN"
"svg-viewport-attrib.mod" >
%svg-viewport-attrib.mod;]]>
<!-- Paint Attribute Module ...................................... -->
<!ENTITY % svg-paint-attrib.module "INCLUDE" >
<![%svg-paint-attrib.module;[
<!ENTITY % svg-paint-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Paint Attribute//EN"
"svg-paint-attrib.mod" >
%svg-paint-attrib.mod;]]>
<!-- Opacity Attribute Module .................................... -->
<!ENTITY % svg-opacity-attrib.module "INCLUDE" >
<![%svg-opacity-attrib.module;[
<!ENTITY % svg-opacity-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Paint Opacity Attribute//EN"
"svg-opacity-attrib.mod" >
%svg-opacity-attrib.mod;]]>
<!-- Graphics Attribute Module ................................... -->
<!ENTITY % svg-graphics-attrib.module "INCLUDE" >
<![%svg-graphics-attrib.module;[
<!ENTITY % svg-graphics-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Graphics Attribute//EN"
"svg-graphics-attrib.mod" >
%svg-graphics-attrib.mod;]]>
<!-- Document Events Attribute Module ............................ -->
<!ENTITY % svg-docevents-attrib.module "INCLUDE" >
<![%svg-docevents-attrib.module;[
<!ENTITY % svg-docevents-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Document Events Attribute//EN"
"svg-docevents-attrib.mod" >
%svg-docevents-attrib.mod;]]>
<!-- Graphical Element Events Attribute Module ................... -->
<!ENTITY % svg-graphevents-attrib.module "INCLUDE" >
<![%svg-graphevents-attrib.module;[
<!ENTITY % svg-graphevents-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Graphical Element Events Attribute//EN"
"svg-graphevents-attrib.mod" >
%svg-graphevents-attrib.mod;]]>
<!-- Animation Events Attribute Module ........................... -->
<!ENTITY % svg-animevents-attrib.module "INCLUDE" >
<![%svg-animevents-attrib.module;[
<!ENTITY % svg-animevents-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 Animation Events Attribute//EN"
"svg-animevents-attrib.mod" >
%svg-animevents-attrib.mod;]]>
<!-- XLink Attribute Module ...................................... -->
<!ENTITY % svg-xlink-attrib.module "INCLUDE" >
<![%svg-xlink-attrib.module;[
<!ENTITY % svg-xlink-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 XLink Attribute//EN"
"svg-xlink-attrib.mod" >
%svg-xlink-attrib.mod;]]>
<!-- External Resources Attribute Module ......................... -->
<!ENTITY % svg-extresources-attrib.module "INCLUDE" >
<![%svg-extresources-attrib.module;[
<!ENTITY % svg-extresources-attrib.mod
PUBLIC "-//W3C//ENTITIES SVG 1.1 External Resources Attribute//EN"
"svg-extresources-attrib.mod" >
%svg-extresources-attrib.mod;]]>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- Structure Module ............................................ -->
<!ENTITY % svg-structure.module "INCLUDE" >
<![%svg-structure.module;[
<!ENTITY % svg-structure.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Structure//EN"
"svg-structure.mod" >
%svg-structure.mod;]]>
<!-- Conditional Processing Module ............................... -->
<!ENTITY % svg-conditional.module "INCLUDE" >
<![%svg-conditional.module;[
<!ENTITY % svg-conditional.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Conditional Processing//EN"
"svg-conditional.mod" >
%svg-conditional.mod;]]>
<!-- Image Module ................................................ -->
<!ENTITY % svg-image.module "INCLUDE" >
<![%svg-image.module;[
<!ENTITY % svg-image.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Image//EN"
"svg-image.mod" >
%svg-image.mod;]]>
<!-- Style Module ................................................ -->
<!ENTITY % svg-style.module "INCLUDE" >
<![%svg-style.module;[
<!ENTITY % svg-style.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Style//EN"
"svg-style.mod" >
%svg-style.mod;]]>
<!-- Shape Module ................................................ -->
<!ENTITY % svg-shape.module "INCLUDE" >
<![%svg-shape.module;[
<!ENTITY % svg-shape.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Shape//EN"
"svg-shape.mod" >
%svg-shape.mod;]]>
<!-- Text Module ................................................. -->
<!ENTITY % svg-text.module "INCLUDE" >
<![%svg-text.module;[
<!ENTITY % svg-text.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Text//EN"
"svg-text.mod" >
%svg-text.mod;]]>
<!-- Color Profile Module ........................................ -->
<!ENTITY % svg-profile.module "INCLUDE" >
<![%svg-profile.module;[
<!ENTITY % svg-profile.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Color Profile//EN"
"svg-profile.mod" >
%svg-profile.mod;]]>
<!-- Gradient Module ............................................. -->
<!ENTITY % svg-gradient.module "INCLUDE" >
<![%svg-gradient.module;[
<!ENTITY % svg-gradient.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Gradient//EN"
"svg-gradient.mod" >
%svg-gradient.mod;]]>
<!-- Pattern Module .............................................. -->
<!ENTITY % svg-pattern.module "INCLUDE" >
<![%svg-pattern.module;[
<!ENTITY % svg-pattern.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Pattern//EN"
"svg-pattern.mod" >
%svg-pattern.mod;]]>
<!-- Basic Clip Module ........................................... -->
<!ENTITY % svg-clip.module "INCLUDE" >
<![%svg-clip.module;[
<!ENTITY % svg-clip.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Basic Clip//EN"
"svg-basic-clip.mod" >
%svg-clip.mod;]]>
<!-- Mask Module ................................................. -->
<!ENTITY % svg-mask.module "INCLUDE" >
<![%svg-mask.module;[
<!ENTITY % svg-mask.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Mask//EN"
"svg-mask.mod" >
%svg-mask.mod;]]>
<!-- Basic Filter Module ......................................... -->
<!ENTITY % svg-filter.module "INCLUDE" >
<![%svg-filter.module;[
<!ENTITY % svg-filter.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Basic Filter//EN"
"svg-basic-filter.mod" >
%svg-filter.mod;]]>
<!-- Hyperlinking Module ......................................... -->
<!ENTITY % svg-hyperlink.module "INCLUDE" >
<![%svg-hyperlink.module;[
<!ENTITY % svg-hyperlink.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Hyperlinking//EN"
"svg-hyperlink.mod" >
%svg-hyperlink.mod;]]>
<!-- View Module ................................................. -->
<!ENTITY % svg-view.module "INCLUDE" >
<![%svg-view.module;[
<!ENTITY % svg-view.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 View//EN"
"svg-view.mod" >
%svg-view.mod;]]>
<!-- Scripting Module ............................................ -->
<!ENTITY % svg-script.module "INCLUDE" >
<![%svg-script.module;[
<!ENTITY % svg-script.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Scripting//EN"
"svg-script.mod" >
%svg-script.mod;]]>
<!-- Animation Module ............................................ -->
<!ENTITY % svg-animation.module "INCLUDE" >
<![%svg-animation.module;[
<!ENTITY % svg-animation.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Animation//EN"
"svg-animation.mod" >
%svg-animation.mod;]]>
<!-- Font Module ................................................. -->
<!ENTITY % svg-font.module "INCLUDE" >
<![%svg-font.module;[
<!ENTITY % svg-font.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Font//EN"
"svg-font.mod" >
%svg-font.mod;]]>
<!-- Extensibility Module ........................................ -->
<!ENTITY % svg-extensibility.module "INCLUDE" >
<![%svg-extensibility.module;[
<!ENTITY % svg-extensibility.mod
PUBLIC "-//W3C//ELEMENTS SVG 1.1 Extensibility//EN"
"svg-extensibility.mod" >
%svg-extensibility.mod;]]>
<!-- end of SVG 1.1 Basic DTD .............................................. -->
<!-- ....................................................................... -->
E.2. SVG Basic Document
Model
This section contains the content model for SVG Basic. The content model
module and the SVG Basic DTD Driver work together to customize the module
implementations to the document type's specific requirements.
<!-- ....................................................................... -->
<!-- SVG 1.1 Basic Document Model Module ................................... -->
<!-- file: svg11-basic-model.mod
This is SVG Basic, a proper subset of SVG.
Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
Revision: $Id: index.html,v 1.22 2018/10/09 13:20:53 denis Exp $
This DTD module is identified by the PUBLIC and SYSTEM identifiers:
PUBLIC "-//W3C//ENTITIES SVG 1.1 Basic Document Model//EN"
SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic-model.mod"
....................................................................... -->
<!-- SVG 1.1 Basic Document Model
This module describes the groupings of elements that make up
common content models for SVG elements.
-->
<!-- Content Models (Default) .......................... -->
<!ENTITY % SVG.Marker.class "" >
<!ENTITY % SVG.Cursor.class "" >
<!-- module: svg-structure.mod ......................... -->
<!ENTITY % SVG.Description.extra.class "" >
<!ENTITY % SVG.Description.class
"%SVG.desc.qname; | %SVG.title.qname; | %SVG.metadata.qname;
%SVG.Description.extra.class;"
>
<!ENTITY % SVG.Use.extra.class "" >
<!ENTITY % SVG.Use.class
"| %SVG.use.qname; %SVG.Use.extra.class;"
>
<!ENTITY % SVG.Structure.extra.class "" >
<!ENTITY % SVG.Structure.class
"| %SVG.svg.qname; | %SVG.g.qname; | %SVG.defs.qname; | %SVG.symbol.qname;
%SVG.Use.class; %SVG.Structure.extra.class;"
>
<!-- module: svg-conditional.mod ....................... -->
<!ENTITY % SVG.Conditional.extra.class "" >
<!ENTITY % SVG.Conditional.class
"| %SVG.switch.qname; %SVG.Conditional.extra.class;"
>
<!-- module: svg-image.mod ............................. -->
<!ENTITY % SVG.Image.extra.class "" >
<!ENTITY % SVG.Image.class
"| %SVG.image.qname; %SVG.Image.extra.class;"
>
<!-- module: svg-style.mod ............................. -->
<!ENTITY % SVG.Style.extra.class "" >
<!ENTITY % SVG.Style.class
"| %SVG.style.qname; %SVG.Style.extra.class;"
>
<!-- module: svg-shape.mod ............................. -->
<!ENTITY % SVG.Shape.extra.class "" >
<!ENTITY % SVG.Shape.class
"| %SVG.path.qname; | %SVG.rect.qname; | %SVG.circle.qname;
| %SVG.line.qname; | %SVG.ellipse.qname; | %SVG.polyline.qname;
| %SVG.polygon.qname; %SVG.Shape.extra.class;"
>
<!-- module: svg-text.mod .............................. -->
<!ENTITY % SVG.Text.extra.class "" >
<!ENTITY % SVG.Text.class
"| %SVG.text.qname; | %SVG.altGlyphDef.qname; %SVG.Text.extra.class;"
>
<!ENTITY % SVG.TextContent.extra.class "" >
<!ENTITY % SVG.TextContent.class
"| %SVG.tspan.qname; | %SVG.tref.qname; | %SVG.textPath.qname;
| %SVG.altGlyph.qname; %SVG.TextContent.extra.class;"
>
<!-- module: svg-profile.mod ........................... -->
<!ENTITY % SVG.Profile.extra.class "" >
<!ENTITY % SVG.Profile.class
"| %SVG.color-profile.qname; %SVG.Profile.extra.class;"
>
<!-- module: svg-gradient.mod .......................... -->
<!ENTITY % SVG.Gradient.extra.class "" >
<!ENTITY % SVG.Gradient.class
"| %SVG.linearGradient.qname; | %SVG.radialGradient.qname;
%SVG.Gradient.extra.class;"
>
<!-- module: svg-pattern.mod ........................... -->
<!ENTITY % SVG.Pattern.extra.class "" >
<!ENTITY % SVG.Pattern.class
"| %SVG.pattern.qname; %SVG.Pattern.extra.class;"
>
<!-- module: svg-basic-clip.mod ........................ -->
<!ENTITY % SVG.Clip.extra.class "" >
<!ENTITY % SVG.Clip.class
"| %SVG.clipPath.qname; %SVG.Clip.extra.class;"
>
<!-- module: svg-mask.mod .............................. -->
<!ENTITY % SVG.Mask.extra.class "" >
<!ENTITY % SVG.Mask.class
"| %SVG.mask.qname; %SVG.Mask.extra.class;"
>
<!-- module: svg-basic-filter.mod ...................... -->
<!ENTITY % SVG.Filter.extra.class "" >
<!ENTITY % SVG.Filter.class
"| %SVG.filter.qname; %SVG.Filter.extra.class;"
>
<!ENTITY % SVG.FilterPrimitive.extra.class "" >
<!ENTITY % SVG.FilterPrimitive.class
"| %SVG.feBlend.qname; | %SVG.feColorMatrix.qname;
| %SVG.feComponentTransfer.qname; | %SVG.feComposite.qname;
| %SVG.feFlood.qname; | %SVG.feGaussianBlur.qname; | %SVG.feImage.qname;
| %SVG.feMerge.qname; | %SVG.feOffset.qname; | %SVG.feTile.qname;
%SVG.FilterPrimitive.extra.class;"
>
<!-- module: svg-hyperlink.mod ......................... -->
<!ENTITY % SVG.Hyperlink.extra.class "" >
<!ENTITY % SVG.Hyperlink.class
"| %SVG.a.qname; %SVG.Hyperlink.extra.class;"
>
<!-- module: svg-view.mod .............................. -->
<!ENTITY % SVG.View.extra.class "" >
<!ENTITY % SVG.View.class
"| %SVG.view.qname; %SVG.View.extra.class;"
>
<!-- module: svg-script.mod ............................ -->
<!ENTITY % SVG.Script.extra.class "" >
<!ENTITY % SVG.Script.class
"| %SVG.script.qname; %SVG.Script.extra.class;"
>
<!-- module: svg-animation.mod ......................... -->
<!ENTITY % SVG.Animation.extra.class "" >
<!ENTITY % SVG.Animation.class
"%SVG.animate.qname; | %SVG.set.qname; | %SVG.animateMotion.qname; |
%SVG.animateColor.qname; | %SVG.animateTransform.qname;
%SVG.Animation.extra.class;"
>
<!-- module: svg-font.mod .............................. -->
<!ENTITY % SVG.Font.extra.class "" >
<!ENTITY % SVG.Font.class
"| %SVG.font.qname; | %SVG.font-face.qname; %SVG.Font.extra.class;"
>
<!-- module: svg-extensibility.mod ..................... -->
<!ENTITY % SVG.Extensibility.extra.class "" >
<!ENTITY % SVG.Extensibility.class
"| %SVG.foreignObject.qname; %SVG.Extensibility.extra.class;"
>
<!-- end of svg11-basic-model.mod -->
This appendix is normative.
This section describes conformance criteria for SVG Tiny and SVG Basic
Document Fragments and User Agents. These criteria take SVG 1.1 conformance
criteria as a base, and add or relax restrictions.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document
are to be interpreted as described in [RFC2119].
A conforming SVG Tiny document fragment is a document fragment that
requires only the facilities described as mandatory in this specification.
Such a document fragment MUST meet all the following criteria:
A conforming SVG Tiny User Agent is a User Agent that requires only the
facilities described as mandatory in this specification. Such a User Agent
MUST meet all the following criteria:
- Conforming SVGT UAs MUST be able to parse and process the base SVGT
language features that correspond to the feature string
"http://www.w3.org/TR/SVGMobile/Tiny/feature#base"
.
- In addition to the requirements for the static category, Conforming
Dynamic SVGT UAs MUST be able to parse and process the language features
of SVGT that correspond to the feature string
"http://www.w3.org/TR/SVGMobile/Tiny/feature#interactivity"
and which support all of the required features for SVGT subset of DOM
described in the SVG 1.1 specification.
- For interactive user environments, facilities SHOULD exist for zooming
and panning of stand-alone SVGT documents or SVGT document fragments
embedded within parent XML documents.
- The viewer MAY support alpha channel blending of the image of the SVG
content onto the target canvas.
- If the implementation supports progressive rendering, the
implementation MAY also support progressive rendering of compressed data
streams.
- All visual rendering SHOULD be accurate to within one device pixel to
the mathematically correct result.
- On systems which support accurate sRGB [SRGB] color, all sRGB color
computations and all resulting color values SHOULD be accurate to within
one sRGB color component value, where sRGB color component values range
from 0 to 255.
Specific criteria that apply for only Conforming Dynamic SVGT Viewers:.
- The viewer MAY have the ability to search and select text strings
within SVG content.
- If display devices are supported, the viewer MAY have the ability to
select and copy text from SVG content to the system clipboard.
- If the viewer supports scripting, it SHOULD support the full SVGT DOM
as defined in this specification. If the input content uses an interface
or method that is not supported, it MUST throw an \"unimplemented\"
exception.
- If the user agent includes a CSS2 capability, a Conforming SVG Viewer
SHOULD support CSS styling of SVG content and SHOULD support all features
from CSS Mobile Profile.
Specific criteria that apply for behavior when SVGT User Agents encounter
elements and attributes that are not recognized, and other compatibility
issues:
- The SVGT UAs MUST render SVG content with version attribute set to
"1.1" and baseProfile attribute set to "tiny".
- SVGT UAs SHOULD notify the user when it encounters content with
outermost 'svg' element with 'version' attribute not set to "1.1" or
'baseProfile' not set to "tiny".
- SVGT UAs SHOULD notify the user when it encounters content which
includes elements or attributes in SVG namespace, but not in SVGT
profile.
- When rendering content, SVGT UAs that encounter characters or character
entity references that are recognized but not renderable should display
the document in such a way that it is obvious to the user that normal
rendering has not taken place.
- If an SVGT UA encounters an attribute value it does not recognize, it
MUST use the default attribute value.
- SVGT UAs MUST ignore elements with attributes of a Basic Data Type,
which is defined using CSS units, except for outermost 'svg' elements
(e.g. x attribute of 'rect' element)
- As of the publication of this recommendation, the general recommended
MIME labeling for SVG Tiny content is the same as SVG 1.1: image/svg+xml.
The SVG Working Group is considering recommending to include a profile
parameter on the Media Type for content negotiation purposes. The Working
Group invites feedback on this issue.
A conforming SVG Basic document fragment is a document fragment that
requires only the facilities described as mandatory in this specification.
Such a document fragment MUST meet all the following criteria:
A conforming SVG Basic User Agent is a User Agent that requires only the
facilities described as mandatory in this specification. Such a User Agent
MUST meet all the following criteria:
- Conforming SVGB UAs MUST be able to parse and process the base SVGT and
SVGB language features that correspond to the feature strings
"http://www.w3.org/TR/SVGMobile/Tiny/feature#base"
and
"http://www.w3.org/TR/SVGMobile/Basic/feature#base"
.
- In addition to the requirements for the static category, Conforming
Dynamic SVGB UAs MUST be able to parse and process the language features
of SVGB and SVGT that correspond to the feature strings
"http://www.w3.org/TR/SVGMobile/Tiny/feature#interactivity"
and
"http://www.w3.org/TR/SVGMobile/Basic/feature#interactivity"
and which support all of the required features for SVGB subset of DOM
described in the SVG 1.1 specification.
- For interactive user environments, facilities SHOULD exist for zooming
and panning of stand-alone SVGB documents or SVGB document fragments
embedded within parent XML documents.
- If the implementation supports progressive rendering, the
implementation MAY also support progressive rendering of compressed data
streams.
- All visual rendering SHOULD be accurate to within one device pixel to
the mathematically correct result.
- On systems which support accurate sRGB [SRGB] color, all sRGB color
computations and all resulting color values SHOULD be accurate to within
one sRGB color component value, where sRGB color component values range
from 0 to 255.
Specific criteria that apply for only Conforming Dynamic SVGB Viewers:.
- The viewer SHOULD have the ability to search and select text strings
within SVG content.
- If display devices are supported, the viewer SHOULD have the ability to
select and copy text from SVG content to the system clipboard.
- If the viewer supports scripting, it SHOULD support the full SVGB DOM
as defined in this specification. If the input content uses an interface
or method that is not supported, it MUST throw an \"unimplemented\"
exception.
- If the user agent includes a CSS2 capability, a Conforming SVG Viewer
SHOULD support CSS styling of SVG content and SHOULD support all features
from CSS Mobile Profile.
Specific criteria that apply for behavior when SVGB UAs encounter elements
and attributes that are not recognized, and other compatibility issues:
- The SVGB UAs MUST render SVG content with version attribute set to
"1.1" and baseProfile attribute set to "basic" or "tiny".
- SVGB UAs SHOULD notify the user when it encounters content with
outermost 'svg' element with 'version' attribute not set to "1.1" or
'baseProfile' not set to "basic" or "tiny".
- SVGB UAs SHOULD notify the user when it encounters content which
includes elements or attributes in SVG namespace, but not in SVGB
profile.
- When rendering content, UAs that encounter characters or character
entity references that are recognized but not renderable should display
the document in such a way that it is obvious to the user that normal
rendering has not taken place.
- If an SVGB UA encounters an attribute value it does not recognize, it
MUST use the default attribute value.
- As of the publication of this recommendation, the general recommended
MIME labeling for SVG Basic content is the same as SVG 1.1:
image/svg+xml. The SVG Working Group is considering recommending to
include a profile parameter on the Media Type for content negotiation
purposes. The Working Group invites feedback on this issue.
This appendix is normative.
This appendix defines the SVG DOM subset used by Mobile SVG 1.1 Profiles.
SVG Tiny User Agents are not required to support Mobile SVG DOM. Dynamic SVG
Basic User Agents that support scripting MUST support SVG Basic Core
Interfaces as defined in this appendix. Dynamic SVG Basic User Agents SHOULD
support SVG Basic Extended Interfaces as defined in this appendix.
An SVG Basic DOM application can use the 'hasFeature' method of the
DOMImplementation interface to verify if SVG Basic Core or SVG Basic Extended
interfaces are supported. The list of available feature strings is provided
in section 3 of this specification.
G.1. DOM Core
Interface: DOMImplementation
Name |
Type |
SVGB Core |
SVGB Extended |
|
hasFeature |
method |
yes |
yes |
createDocumentType |
method |
no |
no |
createDocument |
method |
yes |
yes |
|
Interface: Node
nodeName |
ro attribute |
yes |
yes |
nodeValue |
attribute |
yes |
yes |
nodeType |
ro attribute |
yes |
yes |
parentNode |
ro attribute |
yes |
yes |
childNodes |
ro attribute |
yes |
yes |
firstChild |
ro attribute |
yes |
yes |
lastChild |
ro attribute |
yes |
yes |
previousSibling |
ro attribute |
yes |
yes |
nextSibling |
ro attribute |
yes |
yes |
attributes |
ro attribute |
no |
yes |
ownerDocument |
ro attribute |
yes |
yes |
insertBefore |
method |
yes |
yes |
replaceChild |
method |
yes |
yes |
removeChild |
method |
yes |
yes |
appendChild |
method |
yes |
yes |
hasChildNodes |
method |
yes |
yes |
cloneNode |
method |
no |
no |
normalize |
method |
yes |
yes |
isSupported |
method |
yes |
yes |
namespaceURI |
ro attribute |
yes |
yes |
prefix |
ro attribute |
yes |
yes |
localName |
ro attribute |
yes |
yes |
hasAttributes |
method |
no |
yes |
|
Interface: NodeList
item |
method |
no |
yes |
length |
ro attribute |
no |
yes |
|
Interface: NamedNodeMap
getNamedItem |
method |
no |
yes |
setNamedItem |
method |
no |
yes |
removeNamedItem |
method |
no |
yes |
item |
method |
no |
yes |
getNamedItemNS |
method |
no |
yes |
setNamedItemNS |
method |
no |
yes |
removeNamedItemNS |
method |
no |
yes |
|
Interface: CharacterData
data |
attribute |
yes |
yes |
length |
ro attribute |
yes |
yes |
substringData |
method |
yes |
yes |
appendData |
method |
yes |
yes |
insertData |
method |
yes |
yes |
deleteData |
method |
yes |
yes |
replaceData |
method |
yes |
yes |
|
Interface: Attr
name |
ro attribute |
no |
yes |
specified |
ro attribute |
no |
yes |
value |
attribute |
no |
yes |
ownerElement |
ro attribute |
no |
yes |
|
Interface: Element
tagName |
ro attribute |
yes |
yes |
getAttribute |
method |
yes |
yes |
setAttribute |
method |
yes |
yes |
removeAttribute |
method |
yes |
yes |
getAttributeNode |
method |
no |
yes |
setAttributeNode |
method |
no |
yes |
removeAttributeNode |
method |
no |
yes |
getElementsByTagName |
method |
no |
yes |
getAttributeNS |
method |
yes |
yes |
setAttributeNS |
method |
yes |
yes |
removeAttributeNS |
method |
yes |
yes |
getAttributeNodeNS |
method |
no |
yes |
setAttributeNodeNS |
method |
no |
yes |
getElementsByTagNameNS |
method |
no |
yes |
hasAttribute |
method |
yes |
yes |
hasAttributeNS |
method |
yes |
yes |
|
Interface: Text
Interface: Comment
Not supported
Interface: CDATASection
Not supported
Interface: DocumentType
Not supported
Interface: Notation
Not supported
Interface: Entity
Not supported
Interface: EntityReference
Not supported
Interface: ProcessingInstruction
Not supported
Interface: DocumentFragment
Not supported
Interface: Document
doctype |
ro attribute |
yes |
yes |
implementation |
ro attribute |
yes |
yes |
documentElement |
ro attribute |
yes |
yes |
createElement |
method |
yes |
yes |
createDocumentFragment |
method |
yes |
yes |
createTextNode |
method |
yes |
yes |
createComment |
method |
no |
no |
createCDATASection |
method |
yes |
yes |
createProcessingInstruction |
method |
no |
no |
createAttribute |
method |
no |
yes |
createEntityReference |
method |
no |
no |
getElementsByTagName |
method |
no |
yes |
importNode |
method |
no |
no |
createElementNS |
method |
yes |
yes |
createAttributeNS |
method |
no |
yes |
getElementsByTagNameNS |
method |
no |
yes |
getElementById |
method |
yes |
yes |
|
G.2. DOM2 Events
Interface: EventTarget
Name |
Type |
SVGB Core |
SVGB Extended |
|
addEventListener |
method |
yes |
yes |
removeEventListener |
method |
yes |
yes |
dispatchEvent |
method |
yes |
yes |
|
Interface: EventListener
handleEvent |
method |
yes |
yes |
|
Interface: Event
type |
ro attribute |
yes |
yes |
target |
ro attribute |
yes |
yes |
currentTarget |
ro attribute |
yes |
yes |
eventPhase |
ro attribute |
yes |
yes |
bubbles |
ro attribute |
yes |
yes |
cancelable |
ro attribute |
yes |
yes |
timeStamp |
ro attribute |
yes |
yes |
stopPropagation |
method |
yes |
yes |
preventDefault |
method |
yes |
yes |
initEvent |
method |
yes |
yes |
|
Interface: DocumentEvent
createEvent |
method |
yes |
yes |
|
Interface: UIEvent
detail |
ro attribute |
yes |
yes |
initUIEvent |
method |
yes |
yes |
|
Interface: MouseEvent
screenX |
ro attribute |
yes |
yes |
screenY |
ro attribute |
yes |
yes |
clientX |
ro attribute |
yes |
yes |
clientY |
ro attribute |
yes |
yes |
ctrlKey |
ro attribute |
yes |
yes |
shiftKey |
ro attribute |
yes |
yes |
altKey |
ro attribute |
yes |
yes |
metaKey |
ro attribute |
yes |
yes |
button |
ro attribute |
yes |
yes |
relatedTarget |
ro attribute |
yes |
yes |
initMouseEvent |
method |
yes |
yes |
|
Interface: MutationEvent
Not supported
G.3. SMIL DOM
Interface: ElementTimeControl
Name |
Type |
SVGB Core |
SVGB Extended |
|
beginElement |
method |
yes |
yes |
beginElementAt |
method |
yes |
yes |
endElement |
method |
yes |
yes |
endElementAt |
method |
yes |
yes |
|
Interface: TimeEvent
detail |
ro attribute |
yes |
yes |
initTimeEvent |
method |
yes |
yes |
|
Interface: beginEvent
Not supported
Interface: endEvent
Not supported
Interface: repeatEvent
Not supported
G.4. SVG DOM
Interface: SVGElement
id |
ro attribute |
yes |
yes |
xmlbase |
ro attribute |
no |
no |
ownerSVGElement |
ro attribute |
yes |
yes |
viewportElement |
ro attribute |
yes |
yes |
|
Interface: SVGRect
x |
ro attribute |
yes |
yes |
y |
ro attribute |
yes |
yes |
width |
ro attribute |
yes |
yes |
height |
ro attribute |
yes |
yes |
|
Interface: SVGLocatable
nearestViewportElement |
ro attribute |
yes |
yes |
farthestViewportElement |
ro attribute |
yes |
yes |
getBBox |
method |
yes |
yes |
getCTM |
method |
no |
yes |
getScreenCTM |
method |
no |
no |
getTransformToElement |
method |
no |
no |
|
Interface: SVGTransformable
Not supported
Interface: SVGDocument
title |
attribute |
yes |
yes |
referrer |
ro attribute |
yes |
yes |
domain |
ro attribute |
yes |
yes |
URL |
ro attribute |
yes |
yes |
rootElement |
ro attribute |
yes |
yes |
|
Interface: GetSVGDocument
Not supported
Interface: SVGSVGElement
x |
ro attribute |
no |
no |
y |
ro attribute |
no |
no |
width |
ro attribute |
no |
no |
height |
ro attribute |
no |
no |
contentScriptType |
attribute |
no |
no |
contentStyleType |
attribute |
no |
no |
viewport |
ro attribute |
no |
no |
pixelUnitToMillimeterX |
ro attribute |
no |
no |
pixelUnitToMillimeterY |
ro attribute |
no |
no |
screenPixelToMillimeterX |
ro attribute |
no |
no |
screenPixelToMillimeterY |
ro attribute |
no |
no |
useCurrentView |
|
no |
no |
currentView |
ro attribute |
no |
no |
currentScale |
attribute |
yes |
yes |
currentTranslate |
ro attribute |
yes |
yes |
suspendRedraw |
method |
yes |
yes |
unsuspendRedraw |
method |
yes |
yes |
forceRedraw |
method |
yes |
yes |
pauseAnimations |
method |
yes |
yes |
unpauseAnimations |
method |
yes |
yes |
animationsPaused |
method |
yes |
yes |
getCurrentTime |
method |
yes |
yes |
setCurrentTime |
method |
yes |
yes |
getIntersectionList |
method |
no |
yes |
getEnclosureList |
method |
no |
yes |
checkIntersection |
method |
no |
yes |
checkEnclosure |
method |
no |
yes |
deselectAll |
method |
no |
no |
createSVGNumber |
method |
no |
no |
createSVGLength |
method |
no |
no |
createSVGAngle |
method |
no |
no |
createSVGPoint |
method |
no |
yes |
createSVGMatrix |
method |
no |
yes |
createSVGRect |
method |
yes |
yes |
createSVGTransform |
method |
no |
no |
createSVGTransformFromMatrix |
method |
no |
no |
getElementById |
method |
yes |
yes |
|
Interface: SVGGElement
Not supported
Interface: SVGDefsElement
Not supported
Interface: SVGDescElement
Not supported
Interface: SVGTitleElement
Not supported
Interface: SVGSymbolElement
Not supported
Interface: SVGUseElement
Not supported
Interface: SVGImageElement
Not supported
Interface: SVGSwitchElement
Not supported
Interface: SVGStyleElement
Not supported
Interface: SVGPoint
x |
attribute |
no |
yes |
y |
attribute |
no |
yes |
matrixTransform |
method |
no |
yes |
|
Interface: SVGMatrix
a |
attribute |
no |
yes |
b |
attribute |
no |
yes |
c |
attribute |
no |
yes |
d |
attribute |
no |
yes |
e |
attribute |
no |
yes |
f |
attribute |
no |
yes |
multiply |
method |
no |
yes |
inverse |
method |
no |
yes |
translate |
method |
no |
yes |
scale |
method |
no |
yes |
scaleNonUniform |
method |
no |
yes |
rotate |
method |
no |
yes |
rotateFromVector |
method |
no |
yes |
flipX |
method |
no |
yes |
flipY |
method |
no |
yes |
skewX |
method |
no |
yes |
skewY |
method |
no |
yes |
|
Interface: SVGPathSeg
Not supported
Interface: SVGPathSegClosePath
Not supported
Interface: SVGPathSegMovetoAbs
Not supported
Interface: SVGPathSegMovetoRel
Not supported
Interface: SVGPathSegLinetoAbs
Not supported
Interface: SVGPathSegLinetoRel
Not supported
Interface: SVGPathSegCurvetoCubicAbs
Not supported
Interface: SVGPathSegCurvetoCubicRel
Not supported
Interface: SVGPathSegCurvetoQuadraticAbs
Not supported
Interface: SVGPathSegCurvetoQuadraticRel
Not supported
Interface: SVGPathSegArcAbs
Not supported
Interface: SVGPathSegArcRel
Not supported
Interface: SVGPathSegLinetoHorizontalAbs
Not supported
Interface: SVGPathSegLinetoHorizontalRel
Not supported
Interface: SVGPathSegLinetoVerticalAbs
Not supported
Interface: SVGPathSegLinetoVerticalRel
Not supported
Interface: SVGPathSegCurvetoCubicSmoothAbs
Not supported
Interface: SVGPathSegCurvetoCubicSmoothRel
Not supported
Interface: SVGPathSegCurvetoQuadraticSmoothAbs
Not supported
Interface: SVGPathSegCurvetoQuadraticSmoothRel
Not supported
Interface: SVGPathSegList
Not supported
Interface: SVGAnimatedPathData
Not supported
Interface: SVGPathElement
getTotalLength |
method |
no |
yes |
getPointAtLength |
method |
no |
yes |
getPathSegAtLength |
method |
no |
no |
createSVGPathSegClosePath |
method |
no |
no |
createSVGPathSegMovetoAbs |
method |
no |
no |
createSVGPathSegMovetoRel |
method |
no |
no |
createSVGPathSegLinetoAbs |
method |
no |
no |
createSVGPathSegLinetoRel |
method |
no |
no |
createSVGPathSegCurvetoCubicAbs |
method |
no |
no |
createSVGPathSegCurvetoCubicRel |
method |
no |
no |
createSVGPathSegCurvetoQuadraticAbs |
method |
no |
no |
createSVGPathSegCurvetoQuadraticRel |
method |
no |
no |
createSVGPathSegArcAbs |
method |
no |
no |
createSVGPathSegArcRel |
method |
no |
no |
createSVGPathSegLinetoHorizontalAbs |
method |
no |
no |
createSVGPathSegLinetoHorizontalRel |
method |
no |
no |
createSVGPathSegLinetoVerticalAbs |
method |
no |
no |
createSVGPathSegLinetoVerticalRel |
method |
no |
no |
createSVGPathSegCurvetoCubicSmoothAbs |
method |
no |
no |
createSVGPathSegCurvetoCubicSmoothRel |
method |
no |
no |
createSVGPathSegCurvetoQuadraticSmoothAbs |
method |
no |
no |
createSVGPathSegCurvetoQuadraticSmoothRel |
method |
no |
no |
|
Interface: SVGRectElement
Not supported
Interface: SVGCircleElement
Not supported
Interface: SVGEllipseElement
Not supported
Interface: SVGLineElement
Not supported
Interface: SVGPolylineElement
Not supported
Interface: SVGPolygonElement
Not supported
Interface: SVGTextContextElement
textLength |
roattribute |
yes |
yes |
lengthAdjust |
roattribute |
yes |
yes |
getNumberOfChars |
method |
yes |
yes |
getComputedTextLength |
method |
yes |
yes |
getSubStringLength |
method |
yes |
yes |
getStartPositionOfChar |
method |
yes |
yes |
getEndPositionOfChar |
method |
yes |
yes |
getExtentOfChar |
method |
yes |
yes |
getRotationOfChar |
method |
yes |
yes |
getCharNumAtPosition |
method |
yes |
yes |
selectSubString |
method |
no |
no |
|
Interface: SVGZoom
Not supported
Interface: SVGResize
Not supported
Interface: SVGScroll
Not supported
Interface: SVGTextPositioningElement
Not supported
Interface: SVGTextElement
Not supported
Interface: SVGTSpanElement
Not supported
Interface: SVGTRefElement
Not supported
Interface: SVGTextPathElement
Not supported
Interface: SVGAltGlyphElement
Not supported
Interface: SVGAltGlyphDefElement
Not supported
Interface: SVGAltGlyphRefElement
Not supported
Interface: SVGColorProfileElement
Not supported
Interface: SVGGradientElement
Not supported
Interface: SVGLinearGradientElement
Not supported
Interface: SVGRadialGradientElement
Not supported
Interface: SVGStopElement
Not supported
Interface: SVGPatternElement
Not supported
Interface: SVGClipPathElement
Not supported
Interface: SVGMaskElement
Not supported
Interface: SVGFilterElement
Not supported
Interface: SVGFEDiffuseLightingElement
Not supported
Interface: SVGFEFloodElement
Not supported
Interface: SVGFEImageElement
Not supported
Interface: SVGFESpecularLightingElement
Not supported
Interface: SVGAElement
Not supported
Interface: SVGScriptElement
Not supported
Interface: SVGAnimationElement
Not supported
Interface: SVGAnimateElement
Not supported
Interface: SVGSetElement
Not supported
Interface: SVGAnimateMotionElement
Not supported
Interface: SVGAnimateColorElement
Not supported
Interface: SVGAnimateTransformElement
Not supported
Interface: SVGFontElement
Not supported
Interface: SVGGlyphElement
Not supported
Interface: SVGMissingGlyphElement
Not supported
Interface: SVGHKernElement
Not supported
Interface: SVGVKernElement
Not supported
Interface: SVGFontFaceElement
Not supported
G.5. DOM CSS
Interface: StyleSheet
type |
ro attribute |
no |
no |
disabled |
attribute |
no |
no |
ownerNode |
ro attribute |
no |
no |
parentStyleSheet |
ro attribute |
no |
no |
href |
ro attribute |
no |
no |
title |
ro attribute |
no |
no |
media |
ro attribute |
no |
no |
|
Interface: StyleSheetList
length |
ro attribute |
no |
no |
item |
attribute |
no |
no |
|
Interface: MediaList
mediaText |
attribute |
no |
no |
length |
ro attribute |
no |
no |
item |
attribute |
no |
no |
deleteMedium |
attribute |
no |
no |
appendMedium |
attribute |
no |
no |
|
Interface: LinkStyle
Interface: DocumentStyle
styleSheets |
ro attribute |
no |
no |
|
Interface: CSSRuleList
length |
ro attribute |
no |
no |
item |
method |
no |
no |
|
Interface: CSSRule
type |
ro attribute |
no |
no |
cssText |
attribute |
no |
no |
parentStyleSheet |
ro attribute |
no |
no |
parentRule |
ro attribute |
no |
no |
|
Interface: CSSStyleRule
selectorText |
attribute |
no |
no |
style |
ro attribute |
no |
no |
|
Interface: CSSMediaRule
media |
ro attribute |
no |
no |
cssRules |
ro attribute |
no |
no |
insertRule |
method |
no |
no |
deleteRule |
method |
no |
no |
|
Interface: CSSFontFaceRule
Interface: CSSPageRule
selectorText |
attribute |
no |
no |
style |
ro attribute |
no |
no |
|
Interface: CSSImportRule
href |
ro attribute |
no |
no |
media |
ro attribute |
no |
no |
styleSheet |
ro attribute |
no |
no |
|
Interface: CSSCharsetRule
Interface: CSSUnknownRule
Interface: CSSStyleDeclaration
cssText |
attribute |
no |
no |
getPropertyValue |
method |
no |
no |
getPropertyCSSValue |
method |
no |
no |
removeProperty |
method |
no |
no |
getPropertyPriority |
method |
no |
no |
setProperty |
method |
no |
no |
length |
ro attribute |
no |
no |
item |
method |
no |
no |
parentRule |
ro attribute |
no |
no |
|
Interface: CSSValue
cssText |
attribute |
no |
no |
valueType |
ro attribute |
no |
no |
|
Interface: Counter
identifier |
ro attribute |
no |
no |
listStyle |
ro attribute |
no |
no |
seperator |
ro attribute |
no |
no |
|
Interface: ElementCSSInlineStyle
Interface: CSSStyleSheet
ownerRule |
ro attribute |
no |
no |
cssRules |
ro attribute |
no |
no |
insertRule |
method |
no |
no |
deleteRule |
method |
no |
no |
|